2012-03-11 22 views
1

私は現在プロジェクトに取り掛かっています。非同期タスク処理と、ある種のメッセージキューを早期に統合して、すぐにスケールアップすることができますメッセージキュープロセッサーサーバーをクラスターに追加する。DjangoでCeleryを使い始める

私はCeleryを訪れ、私の目を引っ張った。それはDjangoと非常によく統合されているので、私はかなり良いサポートを得るだろうと思った。私はどのように起動するのかは分かりません。多くの設定が必要です。

今のところ、できるだけdjango runserverで実行するためにメッセージングキューを組み込みたいので、私はDjangoプロジェクト(静的ファイル、パイプラインなどを提供しています)からすべてを実行しています。 (心配しないでください、これは開発のためだけです)既存のDjangoプロジェクトでCeleryをどのように使い始めることができますか?

+0

https://github.com/ask/django-celeryが役立つ可能性があります。また、http://django-celery.readthedocs.org/en/latest/getting-started/first-steps-with-django.html –

答えて

1

セロリはthose getting startedのためにも、非常に素敵なドキュメントを持っていますが、価値は二つの事実は、初心者のために言及されている:BROKER_BACKENDとして

  • 使用djkombuを。これは開発のための非常に単純なメッセージキューを提供し、そこではすべてのメッセージがdjangoで使用されるSQLデータベースに格納されます。セロリのAPIのために、あなたは簡単に生産のための「本物」のメッセージ・キューに置き換えることができます。

    BROKER_TRANSPORT = "kombu.transport.django"

  • ジャンゴ - セロリは設定CELERY_ALWAYS_EAGERを持っています。 Trueに設定すると、非同期バックグラウンド処理が行われず、セロリを介して呼び出されるすべてのタスクが同期して実行されます(追加のセロリの作業を開始する必要はありません - デバッグにも非常に便利です)。

+1

残念ながら、セロリのライブラリでは多くのことが変わりました。新しいAPIを使用するための回答を編集できますか?適切なアプリケーションをインストールする以外に、私のDjangoアプリケーションでメッセージキューを直接実行するには何が必要ですか?それは今のところブロックすることができます。大したことは、アプリケーションを使用するためにマイグレーションすることができることです。そのため、私は "将来の保証"を言います。 –

+1

ie:djkombuは非推奨、BROKER_BACKENDはBROKER_TRANSPORTなどになりました。 –

3

djkombuが廃止され、Djangoの輸送は現在、直接kombuパッケージに統合されています。

あなたのジャンゴsettings.pyでバックエンドを定義するための、あなたが使用することができます。

BROKER_BACKEND = "django" 

あなたは昆布here異なるトランスポート・エイリアスを見つけることができます。

これをdjango-celery 2.5.5,celery 2.5.3およびkombu 2.1.8で試験した。

関連する問題