Hello Guys,
There has been some discussion going on to customize job executor to handle clusterability on more flexibility level. I have a similar requirement to be used in my project. I am working on task migration in a distributed workflow system based on ceratin predefined conditions. I am using asynchronous continuation as a way to migrate tasks from one machine to another. Since the job executor is designed the clusterabilty in mind, there isn't a way to tell which job to run on what machine.I have done a some digging into the job executor source code and might have come up with a solution which suits my use case.
The job executor checks the database periodically for new jobs and allocates a thread from the pool, but I was thinking instead of accessing the database why not have dedicated queue for each job executor and jobs which are in that queue are picked up by corresponding job executor. In this way only certain type of jobs run on that machine. I was also thinking of a controller at
the manager level which validates the conditions and schedule jobs on these queues.
I would appreciate any suggestions on this approach.