0

I am running a cluster of quartz.net services all reading of a standard AdoJobStore. The behaviour I'm looking for is explained in the title, I'm wanting to run Stateful jobs per machine in the cluster. Currently I believe a stateful job will run one-at-a-time for the WHOLE cluster. I doubt quartz.net supports this stateful job per machine in a cluster function ality as I've looked long and hard but is there any other way to replicate this behaviour in quartz.net?

Another way to do it would be to set the threadcount per job type as opposed to the current situation where threadcount is specified per machine, this would essentially give me the behaviour I'm looking for and that is to be able to run a specific job type one-at-a-time per machine.

Any suggestions?

Allen Firth
  • 138
  • 1
  • 10

1 Answers1

0

If job start times of jobs are not crucial, you can try these

you can use proper group name for triggers & jobs based on machine name in cluster (for identification) and see if the group name of triggers correspond to machine name it is firing on (attach a trigger listener and make corresponding checks in VetoJobExecution and return false if the job should not be run in that machine, else return true).

If the stopped trigger is being picked by same machine again and again then you can try Standby and StartDelayed on the scheduler to avoid that.

This is just a suggestion and I haven't verified it.

Krishna
  • 134
  • 4