You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Just tracking work for finally building out a first class subscription model for Marten events that uses the async daemon, but doesn't necessarily force you to build custom IProjection
True "first class subscriptions" where it skips the grouped projection model that the daemon uses today, and wouldn't take part in rebuilds
"Side Effects", being able to just register or do a callback that says "hey, I've got a projection updated, do you want to make other changes like in some kind of outbox of your own"
Add ability to register IChangeListener to EventRange that subscriptions can use
ProjectionUpdateBatch.PostUpdateAsync() should look for IChangeListener objects on EventRange
ProjectionOptions.AllShards() should return the shards from projections too
SubscriptionWrapper so you can directly apply ISubscription
AddSubscriptionWithServices<T>(Lifecycle) where T is ISubscription. Add option for AsyncOptions`. Take in name as well
Validate on uniqueness of subscription names w/ projection names
Docs of course
Xml API comments
Rewind
IProjectionDaemon.RewindSubscriptionAsync(name)
Test Plan
Subscriptions are coming through ProjectionOptions.AllShards()
Can run a very simple subscription that just records the events it receives, full stop
Tasks from Wolverine Integration
New interface for ISubscriptionAgent called ISubscriptionController that only has Task ReportCriticalFailureAsync(Exception ex); and `Task RecordDeadLetterEventAsync(DeadLetterEvent @event);
New overload of RecordDeadLetterEventAsync(IEvent, Exception) to simplify the usage
ReportCriticalFailureAsync overload that takes the furthest ceiling, and that gets the new progress. Update the new progress internally
In Wolverine, use the new ISubscriptionController in the ISubscription interface so you don't depend on Agent being set on EventRange
Just tracking work for finally building out a first class subscription model for Marten events that uses the async daemon, but doesn't necessarily force you to build custom
IProjection
The text was updated successfully, but these errors were encountered: