First, this is a fantastic library, displacing much of what I used to do to get work done on our own infrastructure in just two days of using it. Thanks for that!
Our queueing system is set up such that qdel’ing a job sends a SIGTERM instead of a SIGKILL, and our submission scripts traditionally are built to catch this signal and do cleanup operations (mainly, copy back data from the worker to the fileservers). I’m making this still work in the meantime by putting the catching + cleanup into my queue script template, but does it make sense to give a Firework the ability to define tasks to run upon receipt of a certain signal? Something similar to how one can already define background processes?
I’m not sure exactly how this could be implemented at the moment, or if it’s worth doing, but I’m interested in any better ways of making a Firework or rocket react gracefully upon receipt of a given signal.