0

このクエリは、私のGoogle SummerofCodeプロジェクトに関連しています。基本的に、ビルドタスクを指定された多数のイメージビルドノードに委任するマスターノードがあります。現在、手動の「scp」を使用して実行し、続いて「ssh」戦略を使用したリモート実行を実行しています。ですから、私にはスケジューリングやタスクの分散はありません-自動的に。

私は現在、現在の戦略よりも優れている可能性のあるソリューションを使用することを検討しています。私は「セロリ」を見ていましたが、少しだけ遊んでいました。簡単なジョブをリモートで実行することができました。ただし、これまでのところ、セロリにはワーカーノードにソースファイルが必要です。また、セロリが自動タスク配布/スケジューリングを行うかどうかを調べることができませんでしたか?ブローカーとしてRabbitMQを使用しています。

私はこれに慣れていないので、経験豊富な人なら誰でも、セロリが良い選択であるかどうか、またはこれに適したものがあるかどうかを間違いなく提案することができますか?

4

2 に答える 2

0

Celeryは、ワーカーソースにアクセスする必要があります。これは、実際には、関数の実行方法を変えるのは関数の周りのデコレータにすぎないためです。ただし、ワーカーノードを変更することはできます。マスターノードで、これまで行ってきたこと(scp、ssh)を正確に実行するPythonスクリプトを作成するだけです。これが「働き手」になります。次に、マスターノードでも制御スクリプト(フィードファイルの場所、URLなど)を作成し、Celeryを使用して実行します。その後、Celeryサーバーは、定期的なタスクのようなcrontab (ここ)を介してタスクのスケジューリング、分散を処理するか、実行中のタスクの結果を待って(ここ)、終了時に新しいタスクをスケジュールすることができます。

于 2012-06-04T09:40:38.883 に答える
0

少し戸惑いました。そして、私はそれを理解しました。セロリは、同じブローカーを使用しているワーカーの1人を自動的に選択します。そうです、それはスケジューリングと配布を行います。

于 2012-06-04T15:49:12.153 に答える