Description
Describe the feature
This gem works great for processing messages enqueued by the application. However one of the great features of SQS is the ability to listen to events from SNS (or other sources).
We currently are handling this by moving events into lambda functions, but we would like to stop using lambda for this.
Before i start, looking for some feedback or suggestions.
Use Case
This gem doesn't provide a clear way on how to process these items. Specifically we have an application comprised of 7 rails services each emitting events and processing them in other services. For example the account service may emit an event when an a new account has been created, another service may listen to this event and do something.
Proposed Solution
Im working on a fork for us to use which will allow something like:
Config:
queues:
production_default_queue:
url: 'https://sqs.us-east-1.amazonaws.com/000000000/production-default-queue'
production_external_event_queue:
url: 'https://sqs.us-east-1.amazonaws.com/000000000/production-external-events-queue' # Subscribed to some SNS topic
handler: MyEventJob
Job:
class MyEventJob
def perform
do_stuff(@event)
end
end
Other Information
No response
Acknowledgements
- I may be able to implement this feature request
- This feature might incur a breaking change
SDK version used
latest
Environment details (OS name and version, etc.)
all