aws / aws/aws-dotnet-messaging
Feature Request: Start and stop poller?
- Dominant language
- C#
- Stars
- 143
- Forks
- 27
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 4
Description
### Describe the feature
A potential user reached out internally, looking to pause/resume message handling.
Our mindset when developing this was that the message pump would run for the whole lifecycle of the application as a `BackgroundService` that would be started by the host.
### Use Case
They use case is for a blue/green deployment where they would just like the active slice to be processing messages.
### Proposed Solution
We do have some spots in our test code where we're starting at stopping it at will, but I think we'd have to flip the visibility of `MessagePumpService` from internal to public before users could do something similar.
[https://github.com/awslabs/aws-dotnet-messaging/blob/ee29c3dadeaf7c49116727db1d2cf[…]2b9ad853a/test/AWS.Messaging.UnitTests/SQSMessagePollerTests.cs](https://github.com/awslabs/aws-dotnet-messaging/blob/ee29c3dadeaf7c49116727db1d2cfb22b9ad853a/test/AWS.Messaging.UnitTests/SQSMessagePollerTests.cs#L269-L279)
### Other Information
_No response_
### Acknowledgements
- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### AWS.Messaging (or related) package versions
N/A
### Targeted .NET Platform
N/A
### Operating System and version
N/A
Contributor guide
Research direction
Start with test/AWS.Messaging.UnitTests/SQSMessagePollerTests.cs at lines 269-279, where the poller is started and stopped, then inspect MessagePumpService and its BackgroundService lifecycle. Define the public start/stop or pause/resume contract for the blue/green use case, document breaking-change implications, and add tests showing the lifecycle behavior is complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, csharp
- Domain
- backend, cloud, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100