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"