たんたんめん日記

ソシャゲ関連のなんでもやさん備忘録

【Celery】Celery 複数サーバーでworkerを立ち上げてみる編

複数サーバーでの立ち上げ

単純に同じソースコードをデプロイしておきます。

/etc/sysconfig/celerydのworker名を各サーバーで変えておきます。

各サーバーでcelerydを立ち上げflowerで確認すると、
ちゃんと2台のサーバー(worker01〜03と、04〜06)を認識しています。

そのままタスクを追加していくと、各workerに分散して処理が振り分けられます。

f:id:dnond:20130731184120p:plain

celerydを殺す

ここで、1台のサーバーのservice celeryd stopしてworkerを殺してみます。

すると、生きているworkerでタスクを処理していきます。

f:id:dnond:20130731184210p:plain

celerydを復帰させる

そして、殺したcelerydをservice celeryd startして復帰させます。

f:id:dnond:20130731184235p:plain

Completer Taskのカウンターはゼロになりますが、しばらくすると、タスクが振り分けられて行きます。

f:id:dnond:20130731184244p:plain


【Celery】Celery 要件と環境編
【Celery】Celery インストール、Worker立ち上げ編
【Celery】Celery アプリ・タスクの定義編
【Celery】Celery タスクの追加とflower編
【Celery】Celery Task Status編
【Celery】Celery 結果をmysqlに格納する編
【Celery】Celery 複数サーバーでworkerを立ち上げてみる編
【Celery】Celery 感想編