Replies: 2 comments 2 replies
-
Another option you could maybe put to use is Rebus' built-in saga auditing – it will simply store a snapshot of each saga data in the configured snapshot storage (an implementation of You can enable it like this (in this case using Rebus.MongoDb): services.AddRebus(
configure => configure
.(...)
.Options(o => {
o.EnableSagaAuditing().StoreInMongoDb(db, "Snapshots");
})
); |
Beta Was this translation helpful? Give feedback.
1 reply
-
@dazinator have you had any luck? I am wanting to do something similar. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I've created a workflow engine where workflows are defined in yaml files and when the workflow is executed, I use rebus saga to orchestrate it through to completion.
Right now the when the workflow completes the saga completes and the state is removed.
In the future I want to add a UI which will show a list of completed workflows and the results for each step etc.
My plan to deliver this is, is for the saga to send a message when the workflow "completes" - where the message contains the final state of the workflow - in order to replicate the final state out of rebus saga and allow the saga to be deleted in rebus saga tables.
Then I'll implement a handler for this workflow completed message that will materialise this state into tables for the purposed of my UI application to query. This will be completely seperate from the rebus saga tables where the information will be deleted.
In future I also want to introduce a UI to show currently running workflows. To achieve this I'll update the rebus saga so that it sends messages or notifications when workflows are started and other interesting things happen. I can then implement handlers for those events to keep my tables for the UI in "sync" with whats running.
I haven't thought through all the details just yet, but curious to hear if anyone has any input on such a design and whether this seems sensible approach
Beta Was this translation helpful? Give feedback.
All reactions