Hi All, In current ESB task implementation, it only assumes worker manager clustering pattern and only schedule tasks in worker nodes. (Identifies this by -DworkerNode=true system property) But there may be scenarios where clustering mode is not worker manager (for examples just two ESB nodes clustered to be used in active passive mode)
In this case tasks not going to be scheduled in ESB nodes(because they are not worker nodes) And we can't even identify whether the clustering mode is worker manager or not. (AFAIK there is currently no property which states that) And we can't simply schedule tasks in every nodes as well. Because in a worker manager cluster, manager should not run tasks. Hence we need a way to differentiate. So as a solution we thought of adding a property to "axis2.xml" file. We can have below two approaches. 1) - Adding a property (Eg - "clusteringMode" values "WORKER_MANAGER", "NONE") which states clustering mode. 2) - Adding a property (Eg - "taskNode" values "true" and "false" with default "true") which state whether to skip running tasks or not. if we use property [1], then it will be consistent and we need to specify that in every node. And if someone just mention clustering mode as "WORKER_MANAGER" and fail to start workers with "-DworkerNode=true" parameter, then tasks won't get executed in any node. if we use property [2] we need to only specify that in manager nodes with value "false"(because it defaults to "true") and if someone forget to mention that parameter in a manager node of a worker manager cluster, then tasks will run in that node as well. and I personally prefer property[2] since we are trying to solve task scheduling issue and it is failsafe because even if we forget that parameter, task scheduling happens. Appreciate any feedback on this. Thanks, -- Rajith Vitharana Software Engineer, WSO2 Inc. : wso2.com Mobile : +94715883223 Blog : http://lankavitharana.blogspot.com/
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
