Question

We're using Supervisord to run workers started by our Gearman job server. To remove a job from the queue, we have to run :

$ sudo killall supervisord

as to kill all Supervisord subprocesses so the job doesn't spawn when removed, then

$ gearman -n -w -f FUNCTION_NAME > /dev/null

to remove the job completley from the server.

Is there a way to kill only one Supervisord subprocess instead of using killall? For instance, if we have multiple jobs running and a single job is running longer than it should, or starts throwing errors, how can we kill the subprocess and remove the job from the server without killing all subprocesses?

Was it helpful?

Solution

Yes: Use supervisorctl to interact with supervisord. If you need to do so programmatically, there's a web service interface.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top