基于ESB SQS
项目描述
Amazon SQS的ESB客户端实现。
简单用法
# Default transport config
transport = {
'prefix': 'dev-%(hostname)s-',
'priorities': ['low', 'medium', 'high'],
'polling_interval': 20, # Default queue polling interval
'retention_period': 864000, # Default queue retention period
'visibility_timeout': 30, # Default queue visibility timeout
'sleep_time': 0, # Default queue sleep time
'region': 'eu-west-1'
}
bus = SwarmBus('LOGIN', 'PASSWORD', **transport)
bus.connect()
queue_config = {
'visibility_timeout': 5
}
# Now we register a new queue
bus.register_queue('new_queue', **queue_config)
# Disconnect the bus to finish
bus.disconnect()
用作生产者
with SwarmBus('LOGIN', 'PASSWORD', **transport) as producer:
producer.register_queue('new_queue')
producer.publish(
'new_queue',
{'id': 42}
)
producer.publish(
'new_queue',
{'id': 84},
priority=1, # Priority index, correspond to 'medium'
delay=5 # Delay of the message
)
用作消费者
def handle_message(body, message):
print(body)
message.delete()
def error_handler(body, message):
raise ValueError('Error while processing message')
with SwarmBus('LOGIN', 'PASSWORD', **transport) as consumer:
consumer.register_queue('new_queue')
consumer.consume(
'new_queue',
handle_message,
error_handler
)
项目详情
下载文件
下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
swarm-bus-5.18.tar.gz (7.4 kB 查看哈希值)
构建分布
swarm_bus-5.18-py3-none-any.whl (9.1 kB 查看哈希值)