aws / aws/aws-dotnet-messaging

Feature Request: Start and stop poller?

Open
#147 1 comment 0 reactions 0 assignees View on GitHub
feature-request p2 queued xs
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.