4

私は pylons ベースの webapp を持っており、タスクを取るためにセロリ + rabbitmq を使用したいと思っています。celery-pylons プロジェクトを見てみましたが、うまく使えませんでした。

セロリに関する私の主な問題は、次のとおりです。セロリconfig.pyファイルをどこに置くか、またはセロリオプションを指定する他の方法があります。BROKER_HOST など、pylons アプリ内から (django-celery を使用する場合、django settings.py ファイルにオプションを入れることができます)。

基本的に、私は2つのオプションを調査しました.セロリをスタンドアロンプ​​ロジェクトとして使用することと、セロリパイロンを使用することですが、どちらもあまり成功していません.. :(

よろしくお願いします。

4

2 に答える 2

3

セロリをしばらく更新していませんが、現在これを行っています。私はまだ2.0.0だと思います。

私が行ったことは、pylons アプリケーション内に celery_app ディレクトリを作成することでした。(データ、コントローラーなどと同じディレクトリにあります)

そのディレクトリには、私の celeryconfig.py、tasks.py、および pylons_tasks.py があります。

pylons_tasks.py は、pylons アプリケーションを初期化する単なるファイルであるため、Pylons モデルなどを celery の tasks.py ファイルにロードできます。そのため、pylons init を実行してから、tasks.py をインポートします。

次に、celeryconfig は myapp.celery_app.pylons_tasks を CELERY_IMPORTS 値として使用するように設定されます。

CELERY_IMPORTS = ("myapp.celery_app.pylons_tasks", )

それがいくつかの助けになることを願っています。

于 2010-10-21T16:27:51.437 に答える
1

pylons との最も緊密な統合は、カスタム ローダーを貼り付けコマンドに組み込むことです。これが celery-pylons の機能です。最新の celery と pylons 1.0 で動作するはずの celery-pylons https://bitbucket.org/dougtabuchi/celery-pylons/srcのフォークをチェックしてください。

celeryd 側を機能させるには、ini ファイルに正しいオプションを追加してから、paster celeryd development.ini を呼び出す必要があります。

webapp 側では、environment.py に celerypylons をインポートするだけで済みます。そうすれば、プロジェクトのどこからでもタスクをインポートして使用できるようになります。

セロリを使用する良い pylons プロジェクトはhttps://rhodecode.org/rhodecode/files/tip/です。

于 2011-04-30T13:40:56.230 に答える