You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Scheduling is an important part when working with processes. When modelling a process it is possible to create all kinds of tasks such as timer tasks, automatic tasks and tasks that expire after a period of time. It is also possible model Priority Algorithms which presents the tasks to the users in the correct order of the urgency of the task. To make these functionalities are correctly processed, a scheduling mechanism lies at the heart of the Blueriq Process Engine.

We distinguish two types of schedulers namely Basic and Advanced. Choosing the right scheduler that suits your needs depends on the business demands and the number of cases and tasks being processed. The paragraphs below describe the workings of both schedulers and the considerations when choosing the appropriate one.  

Basic scheduling (default)

By default Blueriq uses the basic scheduler for evaluating tasks and priorities. The evaluating is executed according to the configuration of the blueriq.timer.interval. This can be set to hourly (default) or each minute. Each time the interval expires the process engine starts evaluating all projects present on the Runtime that uses the Process Engine. Per project all the cases are evaluated that contain timer tasks, automatic tasks, tasks with a expiration date or Priority Algorithms. When there is a match, the task are executed. 

As a result, in a multi-node (clustered) environment when the interval expires, one of the node will start evaluating all projects which will increase CPU and memory consumption of that node.  

Advanced scheduling

When upgrading from the basic to the advanced scheduler, please refer to the Scheduler migration guide

When using the process engine in a clustered environment or when there are a lot of tasks being processed, the advanced scheduler is probably more suitable because this scheduler is able to schedule tasks in a precise manner. In the basic scheduler the evaluation takes place on a project level, case per case. The advanced scheduler evaluates and executes each task individually at a specific moment in time (unlike an interval). 

Considerations

  • No labels