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

[Host | Feature request] Toggle consumers by health check tag(s) #251

Open
EtherZa opened this issue Apr 19, 2024 · 2 comments
Open

[Host | Feature request] Toggle consumers by health check tag(s) #251

EtherZa opened this issue Apr 19, 2024 · 2 comments

Comments

@EtherZa
Copy link
Contributor

EtherZa commented Apr 19, 2024

TLDR; associate consumers with health checks to enable/disable them as the status of dependent services change

I haven't seen this implemented in a competing library, and it may be beyond the "slim" scope, but all the same it may be a feature that garners interest. It would certainly be useful in my environment.

Consumers often require different downstream services to fulfil their execution. One may need a specific database instance, another network storage, while a third may require a third party API (or a combination of services) to be available. When one of these dependencies become unavailable, the consumer needs to be resilient and handle the failure gracefully or fail successively before the message ends up in the dead letter queue.

If consumers were to be associated with the health checks of their dependent services, then they could be individually started/stopped on a health status change. Disabling only the impacted consumer(s) would ease the impact while allowing uneffected consumers to continue processing messages unimpeded.

A potential solution is to have a proxy sitting between MessageBusBase and the Consumers to intercept Start/Stop events while monitoring health checks (tags) to start/stop the consumer as appropriate.

@EtherZa EtherZa changed the title [Host | Feature request] Toggle consumers by health check tag [Host | Feature request] Toggle consumers by health check tag(s) Apr 19, 2024
@zarusz
Copy link
Owner

zarusz commented Apr 19, 2024

@EtherZa Sounds like a good use case. If you willing to contribute I am happy to review a PR. Perhaps it's a circuit breaker even.

@EtherZa
Copy link
Contributor Author

EtherZa commented Apr 28, 2024

@zarusz I'll take a look at it, but it may take a little longer to implement.

EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 17, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 19, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 19, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Jul 30, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Oct 20, 2024
EtherZa added a commit to EtherZa/SlimMessageBus that referenced this issue Oct 20, 2024
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