The run-command service should get server-side options to wrap command execution in a semaphore (to make sure that only one instance is running at a time), and then a second option to merge multiple requests that are blocked by the semaphore. A related feature would be a client-side "fire-and-forget" flag, to indicate that the client should return immediately, and any output/error/exitcode should be discarded or logged. This would let me replace the Makefile-based wrappers around debian/apt repo-updating scripts with a simple flappserver option.