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
Problem
Copying the kncloudevents.Dispatcher smells a bit, and I have a proposal to remove it.
We can implement our own WithRetryConfig and WithDeadLetterSink options which control the dispatcher based on current state. The one thing I have a solution for, but 50/50 if I like it, is signalling when to nak/term messages...
We take in the RetryConfig defined on the subscription, and decorate it with our own CheckRetry function which always returns false but sets a protocol.ResultNACK error. You can then use it like so:
This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.
Problem
Copying the
kncloudevents.Dispatcher
smells a bit, and I have a proposal to remove it.We can implement our own
WithRetryConfig
andWithDeadLetterSink
options which control the dispatcher based on current state. The one thing I have a solution for, but 50/50 if I like it, is signalling when to nak/term messages...I have this bit of code in WIP:
We take in the
RetryConfig
defined on the subscription, and decorate it with our ownCheckRetry
function which always returns false but sets aprotocol.ResultNACK
error. You can then use it like so:The finish method of the message (see #542) then understands how to check the errors to determine whether to nack, and if so what delay.
At the moment, my dead-letter handling will just ack the message. I'm not sure if this should result in a Term or not?
Persona:
Exit Criteria
No copy/paste of
kncloudevents
.Time Estimate (optional):
1 day
The text was updated successfully, but these errors were encountered: