1

私は今朝CeleryとRabbitMQをいじり始め、サーバーのパフォーマンスがどのように向上するかを確認するためにいくつかの基本的なタスクを定義しました。

私はrabbitmqユーザー、vhostsを追加し、権限を設定しました。RabbitMQサーバーを起動しました

非常に詳細なチュートリアルで、これらの人がcelerybeatとcelerydを使用して、いくつかのタスクのステータスを確認し、それらを実行していることがわかりました。

RichLelandによる詳細なチュートリアル

どういうわけかセロリも必要ですか、それとも私が取った手順は十分ですか?

これに関する情報やメモはどこにも見当たりませんでした...ただ尋ねるだけです

4

2 に答える 2

2

キュー内のタスクを処理するには、ある種のセロリプロセスを実行する必要があります。celerydプロセスはキューをリッスンし、設定に従ってタスクを実行します。celerydプロセスを実行していない場合は、キューにタスクを追加するだけで、キューを空にすることはありません。

キューを表示することに興味がある場合は、RabbitMQ管理プラグインをインストールすることをお勧めします。

于 2011-09-06T16:37:13.720 に答える
0

http://ask.github.com/celery/getting-started/introduction.html

  1. RabbitMQサーバーを起動します
  2. celeryconfig.pyを定義します
  3. セロリデーモンを起動します:celeryd

RabbitMQにはゲストログインがあるため、これがより迅速な開始方法です。これをceleryconfig.pyに入れます:

import sys
sys.path.append('.')

BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"

CELERY_RESULT_BACKEND = "amqp"

CELERY_IMPORTS = ("tasks",)

簡単なテストのために、これをtasks.pyに入れてください:

from celery.task import task

@task
def add(x, y):
    return x + y

if __name__ == "__main__":
    result = add.delay(4, 4)
    result.wait() 

同じディレクトリでcelerydを起動すると、celeryconfig.pyとtasks.pyがあります。

celeryd --loglevel=INFO

最後に、tasks.pyを実行します

于 2011-10-05T09:41:56.557 に答える