2016-04-05 38 views
2

私はCeleryを初めて使っています。私は仕事をしていないし、理由を知らない。イムここrabbitmqを使用すると、私のコードです:settings.pyでDjango。シンプルなセロリの仕事がうまくいきません。

BROKER_URL = "amqp://[email protected]//" 

tasks.py:

from celery.decorators import task 
from celery.utils.log import get_task_logger 
from hisoka.models import FeralSpirit, Fireball 

logger = get_task_logger(__name__) 

@task 
def test_task(): 
    fireball = Fireball.objects.last() 
    feral_spirit = FeralSpirit.objects.filter(fireball=fireball).last() 

    counters = feral_spirit.increase_counter() 

    logger.info(feral_spirit + "counters: " + counters) 

タスクは単なるテストですが、そのカウンターを高めるために設計されていますFeralSpiritモデルのフィールドです。私は私が正しく実行されているrabbitmqサーバーを持っている(あるいは少なくともそれはそのように見える)delay()

views.py

class FireballDetail(ListView): 

    def get_queryset(self, *args, **kwargs): 
     test_task.delay() 

     ... 

で関数を呼び出していない場合には、一方の端子とDjangoのローカルホスト上で正常に動作しますサーバーを別の端末に接続します。私は明白な何かを欠いていますか私はcelery.py__init__のファイルを持っていて、ちょうどdocumentationに続いています。

+0

です。あなたが「django localhost server」と言ったとき、あなたのセロリの労働者を意味しましたか?セロリワーカーを実行しているかどうかを確認してください。 – anupsabraham

答えて

1

は、おそらくあなたのセロリの労働者はPROJECT_NAMEとqueue_nameの値を代入し

celery -A {project_name} worker --loglevel=info -Q {queue_name} 

を試し、実行されていません。デフォルトのqueue_nameはdefault

+0

お返事ありがとうございます、私は今日それをテストすることができませんでした。私はtommorrowそれをやるよ。 – alejoss

+0

ねえ男。私のセロリの労働者は走っていなかった。しかし、今は稼働しており、まだ動作しません。その情報を追加するために質問を編集しました。 – alejoss

関連する問題