Let’s say you have automated your order processing, i.e. the orders which are generated in your web shop. I will use a very simple example. New orders start a process in the backend, the delivery is scheduled and once the goods are delivered, the payment is scheduled. Let’s say your business is successful and you have many orders per minute.
From a technical perspective, all steps are executed asynchronously.
- You still need to take incoming orders, no argument about that, that’s your business
- Still, you do not want any process instance that calls the payment service to end up in a corrupted state, that has to be dealt with afterwards.
Other Use Cases
- you are calling java code which has a bug. you can stop all instances from calling the wrong java code, deploy a hotfix and continue
- you need to make changes to a script or business rules before you want processes to continues
- any other problem which is related to your process but beyond the control of the engine
Job Suspension vs. Job Retry
- Cockpit provides Tooling for job suspension and bulk retry for failed jobs.
- Read the engine documentation on job suspension
- REST API on job suspension (globally for all instances)
- REST API on job suspension (for single jobs)
- Using camunda BPM as shared process engine makes this feature even more powerful, since the engine is more independent from your application logic
Getting started on Camunda is easy thanks to our robust documentation and tutorials