【发布时间】:2012-06-12 20:21:00
【问题描述】:
我需要将不同的消息发送到队列 - 每条消息都按其个人日程安排。所以我有消息列表和相关的间隔来重新发送每一个。我使用rabbitMQ/pika 和apscheduler。 根据无数的例子,我创建了最简单的 BlockingConnection/channel/queue。在那之后我立即尝试推送消息 - 一切正常,我可以在 rabbitmq web-interface 中看到所有消息都在队列中。这是一段有效的代码:
self.cr = Queue('DIRECT_C_QUEUE', True, ex_type='direct')
for i in range(1,10000):
self.cr.channel.basic_publish(exchange='', routing_key='DIRECT_C_QUEUE', body='hello_world')
但是,如果我尝试通过 apscheduler 回调函数推送消息(以完全相同的方式) - 队列中只有少数(大约 1-10 条)消息出现(但回调一直被触发,发布时没有任何异常消息!)。
我终于开始收到这样的警告:
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pika/connection.py:642:UserWarning:Pika:写入缓冲区在 1125 字节处超出警告阈值,估计为 43后面的框架 警告(消息 %(self.outbound_buffer.size,est_frames_behind))
队列中仍然没有新消息。
我是python新手,非常感谢任何帮助。
【问题讨论】:
标签: python scheduling rabbitmq pika