We have a microservice that has no database. It implements an api that starts a workflow which modifies some details about a users account, some activities are sync and some async.
We wanted to use searchAttributes to search workflows by a certain key to get their state before actioning the update (to help with managing concurrent updates to an account etc). However, searchAttributes is only eventually consistent so it won’t give us a real time view of the workflows in flight. The only option we have is to query workflows. However, queries require knowing the WorkflowId beforehand which requires storing the WorkflowIds in some db or creating the WorkflowId using a predefined string (not ideal and difficult to do correctly)
Just curious if you guys think having a db to store WorkflowIds is the way to go here? We also have ideas of using a long running workflow for the account to orchestrate the scheduling/management workflows like the above but that is still being ideated on.
Do you have plans of allowing a search of workflows by some custom attributes in a real time manner. (Maybe allowing a immutable search key on creation of a workflow that gets stored in the db instead of elasticsearch)
Edit: I suspect my question is answered here How to query state from multiple workflows - #8 by maxim. Let me know otherwise thanks!