I am intending to implement a system that the user can create a combination of different tasks in different orders with many human involved tasks. For example, the user can create a workflow, starting with anyone adding a new record in some table, then the record will be send to his manager for approval, upon the approval of his/her manager, it will be sent to another person for more information and so on so forth. I’ve carefully studied the system and figured out a way to implement the system with temporal, but I am not sure if that is the recommended way of implementing this, and here is what I thought.
- Modeling each human involved task as an activity with very long timeout time (maybe for days)
- Setting up a message queue listener (redis for example) within each human involved activity, continuously listen to the event that completes the activity.
So my questions are:
- Is it possible to set the time out time to that long time?
- Is it recommended to use mq listener or there is a more elegant approach to this problem? It looks a bit heavy to maintain a listener for each human involved activity instance.
- Do I have to register the activities that will be dynamically used in different workflow every time?
Thanks a lot : )