Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add saga support #14

Open
svalaskevicius opened this issue Oct 27, 2015 · 1 comment
Open

Add saga support #14

svalaskevicius opened this issue Oct 27, 2015 · 1 comment

Comments

@svalaskevicius
Copy link
Owner

Automating commands based on previous events

@svalaskevicius
Copy link
Owner Author

Saga

  • saga tracks events same way as projections
  • they're also allowed to talk to the external world
  • saga supports storing "position pointer", to be restored back to (skipping all executed actions) if its restarted
  • a saga can be replayed to the exact position it was in before it was stopped, so that it can continue

Position pointer

Can be implemented as several types of execution ranges:

  • retry-able context - starting stores the position, ending marks that its finished. on restarting a saga if the last such range is not finished it will be started again.
  • ignore-able context - starting stores the position, ending marks that its finished. on restarting a saga if the last such range is not finished the saga will skip this range and proceed to the end immediately
  • critical context - starting stores the position, ending marks that its finished. on restarting a saga if the last such range is not finished the saga will fail to start

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant