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

Allow the message pump to be paused temporarily #6505

Open
kbaley opened this issue Aug 5, 2022 · 1 comment
Open

Allow the message pump to be paused temporarily #6505

kbaley opened this issue Aug 5, 2022 · 1 comment

Comments

@kbaley
Copy link
Contributor

kbaley commented Aug 5, 2022

To stop receiving and processing messages, users have to stop the whole endpoint and restart it again when they want to consume messages again. This has several disadvantages:

  • When the endpoint is stopped, no messages are being processed
  • Restarting is an intensive operation
  • Starting/stopping and endpoint doesn't work with the generic host (probably the most common host in the future) as NServiceBus uses the host-managed DI container and NServiceBus can't really handle this as it needs ServiceCollection access during start time which no longer possible when the host has been started.

Instead, the endpoint should allow to pause and resume just the message pump without shutting down anything else.

Relevant links

@SeanFeldman
Copy link
Contributor

Pausing receiving is a missing feature.
This would help in the scenarios described here. The ability to dial down concurrency on failures with automatic rate limitting is not applicable. It needs to be something that allows a temporary pause.

Also, when considering this feature, consider serverless scenarios where the transport is out of the picture (scenario 1) or when a timer trigger is used and the NSB receiver could be wired up (scenario 2).

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

No branches or pull requests

2 participants