AnsweredAssumed Answered

Load balancing jobs

Question asked by kiyer on May 28, 2013
Latest reply on Jun 1, 2013 by kiyer
Hi,
I am relative newbie to Activiti and have enjoyed exploring it so far. Apologize if this question has been asked before, but here goes. My company has tasked me with investigating integration with Activiti Workflow to replace our hand rolled business logic in code.
I am modeling the subscription based services using Activiti workflow. Essentially it boils down to renew a subscription perpetually (annually) OR do an upgrade if the customer requests it. This is modeled as a parallel fork. See image here:

[img]https://docs.google.com/drawings/d/1VRRr8-i0DwmJ1-U6PXsyYQjd9mjGscII1Zx6XlhhVUI/pub?w=960&h=720[/img]

The idea is to have one such process instance per customer. The renewal sub-process would be fairly heavy duty and frequent (imagine daily , monthly , annual renewals). So the idea is to load balance it by executing all such jobs in dedicated machines. User tasks and other processes will be normally handled by user facing tomcat servers. This will enable the tomcats to be more responsive to handling immediate user facing tasks.

Question is: How can we split out arbitrary jobs (such as the renewal subprocess) and make it run on the specific machines?

Please note that I am aware of the following setting:

<property name="jobExecutorActivate" value="true" />
But the requirement is finer grained. Execute specific tasks on specific hardware.
Any guidance / tips appreciated.

Thanks for the great work
kiyer

Outcomes