Peter Steele
2012-10-25 16:41:07 UTC
We've just started using supervisor in a project and we have a couple of
issues we're working around. We have two categories of processes that we
want to be launched and monitored: Static processes whose command line
arguments do not change, and processes whose arguments are determined
dynamically (based on data maintained by another process in our system).
Basically, we collect this information, construct the command line we want,
and then want to launch it via supervisor.
The only way this appears to be possible physically edit the supervisor
configuration file, tell it to reread this information, and then tell
Supervisor to "update", which ends up causing it to restart the changed
process. This works, but it isn't particularly convenient. It would be very
useful if Supervisor provided an XML-RPC call where you could pass it
information describing a process, probably in the form of a hash table that
matches the fields in its configuration file, and start that process
dynamically. This process would not be persistent in its configuration
file. If the system was rebooted for example, this dynamic process would
not be restarted.
These dynamic process would behave the same as the statically launched
processes in every other way. This feature would be a great addition to
Supervisor. I understand that the XML-RPC can be extended. Is the kind of
thing I'm describing possible as an extension to the API?
issues we're working around. We have two categories of processes that we
want to be launched and monitored: Static processes whose command line
arguments do not change, and processes whose arguments are determined
dynamically (based on data maintained by another process in our system).
Basically, we collect this information, construct the command line we want,
and then want to launch it via supervisor.
The only way this appears to be possible physically edit the supervisor
configuration file, tell it to reread this information, and then tell
Supervisor to "update", which ends up causing it to restart the changed
process. This works, but it isn't particularly convenient. It would be very
useful if Supervisor provided an XML-RPC call where you could pass it
information describing a process, probably in the form of a hash table that
matches the fields in its configuration file, and start that process
dynamically. This process would not be persistent in its configuration
file. If the system was rebooted for example, this dynamic process would
not be restarted.
These dynamic process would behave the same as the statically launched
processes in every other way. This feature would be a great addition to
Supervisor. I understand that the XML-RPC can be extended. Is the kind of
thing I'm describing possible as an extension to the API?