Hello,
Currently we have the option to trigger a Workflow either based on Conditions or based on a Schedule. However, I think it could prove valuable to have a Conditional Schedule that combines the two rule types.
For example,
Instead of always automatically running, I'd like to be able to schedule a workflow to evaluate conditions every X minutes/hours, and at that point decide whether or not to initiate the process based on the starting conditions.
Basically, instead of a subscriber event kicking off the condition evaluation, I'd like to be able to trigger that with the timer. (Maybe just add "timer" as an Event Type or the starting condition properties?)
To provide an example use case,
We have a workflow that runs every 1 minute for 16 hours each day because documents must be processed in batches, and must be processed as soon as possible. However, the workflow instances can take anywhere between a few hundred milliseconds and several minutes to complete.
To prevent too many overlapping processes, I created conditions within the workflow itself that can identify the number of active processes and abort the current instance if too many are already in progress.
The configuration works, however, the big downside here is that each day we are generating hundreds of instances for this workflow when the vast majority are not doing any work.
Instead, I'd like to do something like this:
- Every 1 minute for 16 hours
- If Conditions are satisfied,
- Start a new instance
EDIT: A secondary component of this would be the ability to designate a specific entry in the conditions. For example, to check the document count within a specific folder every X minutes.