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

[Feature] Outbox - Retry counter and Schedule Enque Time #2193

Open
preardon opened this issue Jul 19, 2022 · 2 comments
Open

[Feature] Outbox - Retry counter and Schedule Enque Time #2193

preardon opened this issue Jul 19, 2022 · 2 comments
Assignees

Comments

@preardon
Copy link
Member

preardon commented Jul 19, 2022

I would like to add the following functionality to the outbox

  • A Retry counter (for explicitly clearing) so that if there is an issues that stops the message from being cleared it can then be pushed to the back of the queue (I have had a time before where the top 100 messages in the outbox were problematic and it kept attempting to clear them to no avail)
  • An option that allows us to schedule a future message (This could be either using the transport (I know ASB supports scheduled messages, or using the implicit clearing sweeper)
@preardon
Copy link
Member Author

@iancooper What are you thoughts on the above

@preardon preardon changed the title [Feature] Outbox - Retry counter and send after time [Feature] Outbox - Retry counter and Schedule Enque Time Jul 19, 2022
@iancooper
Copy link
Member

So I suspect this really relates to an overall idea around "Outbox Data Policy"

There are a number of things you may want to configure:

  • Retention policy -> What happens to messages as time passes. When do we delete sent messages or unsent messages
  • Message priority -> Do we want to allow you messages to be ordered by priority for retries
  • Circuit Breaker/Retry policy -> Do we invoke a circuit breaker after certain number of retries fail? Do we eventually give up on you after x retries

Suggestion: What am I doing for Large Message Payloads is writing up an ADR that we can discuss, that may help once you have enough feedback

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

2 participants