It would be good to add some extra options and tools to Business Processes to better control their behaviour in certain circumstances, for example when they have ended up hanging. These would make using Business Processes a lot more robust to issues without every implementation having to build their own framework around them.
The controls I would like to see added are the following, but I'm sure other developers could provide more that would be useful:
- Maximum runtime - process instances would get set to "Error" state after this period automatically
- Retry method - allow BPs to be configured to be retryable after hanging and getting set to "Error" state automatically or failing with an error. It should also be possible to specify maximum retries, and of course by default BPs should not be set to be retryable to avoid any issues with non-idempotent BPs/BPs which it only makes sense to run synchronously when a user initiates the action, for example
- The ability for an admin to restart a specific BP instance - for example if they have identified one which has hung. This should be added alongside the "Cancel execution" ability we have currently in the Process log
- Failure alerting mechanism - some built in failure alerting mechanism, even just simply emailing a system setting-defined email list, so that resolving these issues can be more proactive rather than reactive to user feedback. Being configurable which BPs send alerts and which shouldn't would be useful, as well as alerting thresholds to prevent too much spam would be nice to have
I would welcome any additions people have to this list, and getting any of these would improve the resilience of using business processes greatly for customers.
Do you like this idea?
Hello Harvey,
Thank you for your valuable suggestions regarding enhancements to Business Processes. We appreciate your insights on the additional options and tools that could improve control and resilience.
We have shared your ideas with our development team for further consideration.
We welcome any further contributions from the community, and we will keep you updated on any developments regarding these enhancements.
Thank you once again for your input!