12

DjangoWebアプリケーションといくつかのDjango-Pistonサービスを構築しました。ユーザーはWebインターフェースを使用して、WebサービスにPOSTされたデータを送信し、そのWebサービスはDjango-celeryを使用してバックグラウンドタスクを開始します。

manage.pyを使用すると、開発環境ですべてが正常に機能します。今、私はこれを適切なApacheサーバー上の本番環境に移行しようとしています。WebアプリケーションとWebサービスは本番環境では正常に機能しますが、celerydをデーモンとして起動すると深刻な問題が発生します。これらの指示に基づいて:http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#running-the-worker-as-a-daemon celeryconfig.pyファイルを作成し、 / usr / binディレクトリ(これはcelerydが私のarch linuxサーバー上の場所です)。

CELERYD_CHDIR="/srv/http/ControllerFramework/"
DJANGO_SETTINGS_MODULE="settings"
CELERYD="/srv/http/ControllerFramework/manage.py celeryd"

ただし、コマンドラインからcelerydを起動しようとすると、次のエラーが発生します。

 "Missing connection string! Do you have "
celery.exceptions.ImproperlyConfigured: Missing connection string! Do you have    CELERY_RESULT_DBURI set to a real value?

ここからどこへ行くのかわからない。以下は、この問題に関連する私のsettings.pyセクションです。

BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "controllerFramework"
BROKER_PASSWORD = "******"
BROKER_VHOST = "localhost"
4

1 に答える 1

8

それで、私はdjango-celeryのプロジェクトリーダーとチャットすることになりました。いくつかのこと。最初のセロリは、「manage.pyceleryd」を使用して実行する必要があります。次に、settings.pyファイルで「djceleryをインポートする」必要があります。このインポートの問題は次のバージョンで修正される可能性がありますが、今のところこれを行う必要があります。

于 2010-07-26T21:42:42.770 に答える