Joined: 11/27/2012 13:28:44
I start a persistent clustered scheduler on 3 different nodes. I have Interruptable clustered jobs that then run randomly across these nodes depending on which scheduler instance picks up the trigger. So far so good.
I also have code stop a job that first calls the scheduler.interrupt() and then scheduler.deletJob(). This works as expected if I only have 1 node or if I execute this code on the node where the job happens to be running.
If the job is not running on the same node as where I execute this, the job will be deleted but obviously interrupt will not be called.
What is the best way to handle this?
1) Should I broadcast an interrupt to all nodes, wait a second and then do the delete?
2) Query each node to see which node is actually executing the job (Is there even a way to do this? I cannot find one), and then get that node to do the interrupt and delete?
3) Is there something out of the box that Quartz can do?