0

同じマシン上の 2 つのアプリケーション間でいくつかのキューを共有する必要があります。1 つはトルネードで、そのキューに時折メッセージを追加します。もう 1 つは、すべての反復で新しいメッセージを追加する cron から実行される Python スクリプトです。誰かが私にこのモジュールを提案できますか? (これはredisの使用で解決できますか?この目的でmysqlを使用することは避けます)

4

3 に答える 3

0

アプリケーションから独立してキューをホストするためにRabbitMQを試してから、Tornado アダプターも付属するPikaを使用してアクセスします。適切なモデルを選択するだけです: queue/exchange/topic と必要なメッセージのプロトコル (文字列、json、xml、yaml) で設定は完了です。

于 2013-08-04T00:25:23.350 に答える
0

リストでredisを使用します。要素を上にプッシュし、rpop をテールから削除できます。

redis rpopredis lpushxを参照してください

于 2013-08-04T00:21:21.087 に答える
0

これを行うために私が考えることができる最も純粋な方法は、IPC を使用することです。Python は、あるプロセスが別のプロセスを生成するときの 2 つのプロセス間の IPC を非常に適切にサポートしていますが、シナリオではそうではありません。sysv_ipcやなどの ipc 用の python モジュールがありますposix_ipczeromqしかし、トルネードでメイン アプリケーションを構築する場合は、発行されたメッセージをソケットでリッスンするだけではどうですか。

ここに詳細情報へのリンクがあります。Publisher-Subscriber モデルが必要です。

http://zeromq.github.io/pyzmq/eventloop.html#tornado-ioloop

cron ジョブが開始され、メッセージがzeromqソケットに発行されます。すでに実行中のアプリケーションは、それらをサブスクライバーとして受け取ります。

于 2013-08-04T00:22:36.550 に答える