2016-05-07 10 views
1

セルラー・モジュールのタスク機能の量は非常に急速に増えており、単一のモジュールには扱いにくくなることがあります。これは数年前のフラスコに直面した問題で、フラスケの青写真を使って解決しました。基本的には、Flaskが提供するのと同じ青写真の方法論を展開したいと思います。私のタスクを個々のモジュールにグループ化し、何らかの形で「結合」し、単一のRabbitMQキューで使用します。これはセロリで可能ですか?私はセロリを初めて熟知して以来、誰にでも意味があることを願っています。私は文書を見てみることを試みたが、実際に何も見つけられなかった(それはそこにないことを意味しない)。可能であれば、別のキューやブローカーを使用しないでください。どんな助けもありがとう。Flaskの青写真と同様のスケールアウト・セロリー・アプリケーション

答えて

1

あなたがセロリオブジェクト自体(通常は名前のアプリ)

パラメータをインポートする必要があるモジュールにタスクを分離し、モジュール自体では設定

CELERY_IMPORTS = ('module1.tasks','module2.tasks',)を使用してそれらをインポートすることができますここでの仕事は純粋にオプションです。しかし、非常に多くの場合、あなたは異なるモジュールを持っているときにも答えを、私はすぐにそれを試してみましょう彼らのために

from .celery import app 
@app.task(
    bind=True, 
    queue='module1', 
    options={'queue':'module1'} 
) 
def task1_of_module1(*args, **kwargs): 
    pass 
+0

感謝を異なるキューを持っていると思います。あまりにも多くのタスクがモジュール内にある場合、キューがあまりにも多く、別のキューが必要であることを示す良い指標になると思いました。 –

関連する問題