AWS SQS item processing callback
Project description
SQS Callback decorator
Python decorator for registering message handlers from Simple Queue Service endpoints.
- decorator register callbacks for specific queues
listen
to iterate over all callbacks, read messages from queues and dispatchpost
to quickly send data to a queue and obtain message ID
install
pip install bayis-sqs-callback
usage
import sqsfn
@sqsfn.sqs_queue_listener(sqs_queue_name="my-queue-name")
def my_example_queue_listener(data_from_queue):
"""process a queue item"""
print("recieved data")
return True
if __name__ == "__main__":
asyncio.run(sqsfn.listen())
multiple queues
import sqsfn
@sqsfn.sqs_queue_listener(sqs_queue_name="queue-a")
def my_example_queue_listener(data_from_queue_a):
print("received from queue a")
sqsfn.post("queue-b", data_from_queue_a)
return True
@sqsfn.sqs_queue_listener(sqs_queue_name="queue-b")
def my_example_queue_listener(data_from_queue_b):
print("received from queue b")
sqsfn.post("queue-c", data_from_queue_b)
return True
@sqsfn.sqs_queue_listener(sqs_queue_name="queue-c")
def my_example_queue_listener(data_from_queue_c):
print("received from queue c")
sqsfn.post("queue-a", data_from_queue_c)
return True
if __name__ == "__main__":
asyncio.run(sqsfn.listen())
success and failure queues
the on_success
and on_fail
optional parameters accept a function which
will be called on successful processing of the message or otherwise.
import sqsfn
@sqsfn.sqs_queue_listener(
sqs_queue_name="my-queue-name",
on_success=lambda x: sqsfn.post("my-success-queue", x),
on_fail=lambda x: sqsfn.post("my-fail-queue", x)
)
def my_example_queue_listener(data_from_queue):
"""process a queue item"""
print("recieved data")
return True
if __name__ == "__main__":
asyncio.run(sqsfn.listen())
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for bayis_sqs_callback-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7061e2f2dd0a86f7830120b5278cc9da7d901cd76551150e5cf525546c4221e |
|
MD5 | 360363796e021a7d9af5e079e7d6b5b6 |
|
BLAKE2b-256 | eea578a3140a7c79a5df302f4e913815af585c4839971d29a898f7d03db02562 |