キューに送信するメッセージはそれぞれ個人のスケジュールごとに異なる必要があります。だから私はメッセージリストとそれぞれを再送するための関連する間隔を持っています。私はrabbitMQ/pikaとapschedulerを使用しています。多くの例によると、私は最も単純なBlockingConnection / channel/queueを作成しました。その直後にメッセージをプッシュしようとすると、すべてが正常に機能します。rabbitmqWebインターフェイスで、すべてのメッセージがキューに入れられていることがわかります。動作するコードは次のとおりです。
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を初めて使用しますが、どんな助けでも大歓迎です。