Hi Tomáš,
thank you for your response. What I was actually thinking was that I could generate new “ApiCalls” that would contain some kind of scheduling such as field that would contain expected time to schedule. And when the condition would be applicable, the entry would be scheduled into the queue. So instead of adding it as RecordCreated, add the new record based on the condition with comparison with current date. But I don’t know if this is realizable or it would be just a dead end.
Scheduler scenario - does the scheduler already work in html5 version. So can I configure scheduler that would run workflow? And when scheduler runs workflow, how it is with error handling? I started to use WorkQueue because I could not read error message from API in workflow. Here in the community I have found this post End of iteration in for-each block due to error - #2 by urbanekv where I got the inspiration to use Work Queues for handling every API request. It was some additional work but it works great regarding error handling because I can see what result I received from API especially in case of API’s error message. Otherwise (without queue) I could only continue in workflow on “Finished” transition but I could not see and work with the error message.
So regarding the scheduler scenario, before I give it a try, I would like to know that scheduler is now working and how can I treat with exceptions? Can I use only scheduler scenario or should I combine the two approaches?
- Scheduler would create ApiCall entity based on some other entity or condition (or would change the state of ApiCall entity).
- WorkQueue would add ApiCall entity based on state condition or as RecordCreated if I would not be able to use states. (I don’t have the experience yet
)
BTW: Regarding Work Queues - Support for Retry - In our .NET projects which are not based on Origam, we use Hangfire scheduling component which in code works very well including scheduling and enqueing. It also has retry implemented and it could be configurable as it states in the requirement. If you are interested (we already talked about it), I can show you how we use it on our projects.