0

Python での経験から、現在、その言語で利用可能なタスク キュー ソリューションの 1 つを選択する必要があります。Celery (私は Django を使用しておらず、そのフレームワークへの切り替えはオプションではありません)、Python-RQ ( http://python-rq.org/ )、Zeromq with pyzmq を検討しています。

誰かが実稼働環境でのそれらまたは他のタスク キューに関する経験を共有できれば幸いです。そうではなく、python-rqを強く検討しています。

よろしく

4

1 に答える 1

3

Redis を使用して (django を使用せずに) セロリを選択しましたが、現在は満足しています。私が遭遇したこと:

  • RabbitMQ は機能しなくなるまで機能します...理由もなく一時停止し始め、最終的にすべてのタスクがハングします。重量があり、信頼性のために選ばれたため、船外に放り出されました。

  • Zeromq は素晴らしいプロジェクトのように見え、優れたパフォーマンスを発揮するように見えましたが、使用しようとすると、組み込みの例を使用してもメッセージを渡すことができませんでした。間違いは確かに私のものでした.ipythonもzeromqを使用しており、同じマシンで問題なく動作します。

  • 私にとって、セロリを起動して実行するために必要な実際の作業は最小限でした。私は python-rq が対処しているように見えるのとほぼ同じユースケースを持っていますが、私が始めたときには存在しなかったので、セロリを使用しました。と使用します。

  • 永続ストレージを使用しないように Redis を構成すると、予測が容易になり、キューの状態を心配する必要がなくなりました。

私が遭遇/使用しなかったもの:

  • 私のタスクは永続的でもトランザクション的でもありません。タスクが終了すると、ユーザーはエラー メッセージを受け取り、再試行できます。タスクはべき等でもあります。複数回実行されても問題はありません。それが当てはまらない場合は、タスクの処理方法にもっと注意を払う必要があり、rabbitmq はより魅力的になります。

  • 私のタスクは競合せず、特定の順序で実行する必要もありませんでした。

  • 私のタスクは、9.2 秒以上のかなり粗いものに選ばれました。

于 2013-09-24T13:18:57.900 に答える