So I have been using long running workflows etc for a long time now. Really love them and its great to be able to integrate things like human in the loop etc.
The problem is, it forces me to have a job running for each ‘process’ I maybe want to suspend which creates alot of overhead etc.
It also creates an inconsistency about how to store and track ‘business data’.
For a simple process I could use a queue item and a transactional performer. If I need to suspend for a human in the loop step or for a external task to be completed however I cannot leave that queue item open. It would get abandoned after 24 hours and left in a running state.
It would be awesome if I could have the ability to set the status of a queue item to ‘suspended’, especially if I could add a trigger to it (such as a task in the action centre being completed, a job being completed etc) so it can resume in the same way a job can be suspended with various triggers and resumed.
This way I could then keep all the data neatly in a queue item, suspend it and resume it without keeping a job intact and would allow me to design better transactional processes that include long running components instead of needing a job per long running business process (in order for that job to be suspended).
Is this making sense to anyone?