2

私はdjangoでセロリを実行しており、開発に最適です。しかし、今は本番サーバーでライブにしたいのですが、いくつかの問題が発生しています。

私のセットアップは次のとおりです。

  • Ubuntu
  • ニンクス
  • Vitualenv
  • 新興企業
  • ギニコーン
  • ジャンゴ

upstartでセロリを起動するときにdjangoでセロリを起動する方法がわかりません。また、どこにログインしますか?

私はここでジャンゴを始めています:

~$ cd /var/www/webapps/minamobime_app
~$ source ../bin/activate

exec /var/www/webapps/bin/gunicorn_django -w $NUM_WORKERS \ --user=$USER --group=$GROUP --bind=$IP:$P​​ORT --log-level=debug \ --log-file =$LOGFILE 2>>$LOGFILE

セロリの始め方は?

exec python manage.py celeryd -E -l info -c 2
4

3 に答える 3

3

セロリをデーモンとして構成することを検討してください。ロギング仕様の場合:

CELERYD_LOG_FILE="/var/log/celery/%n.log"

%s はノード名に置き換えられます

于 2012-04-20T10:33:54.290 に答える
2

apt-get を使用してスーパーバイザーをインストールし、次に celeryd.conf (または任意の名前) という名前のファイルに以下を追加して、etc/supervisor/conf.d フォルダーに追加します (存在しない場合は conf.d フォルダーを作成します)。 )

; ==================================
;  celery worker supervisor example
; ==================================

[program:celery]
; Set full path to celery program if using virtualenv
command=/home/<path to env>/env/bin/celery -A <appname> worker -l info
;enter the directory in which you want to run the app
directory=/home/<path to the app> 
user=nobody
numprocs=1
stdout_logfile=/home/<path to the log file>/worker.log
stderr_logfile=/home/<path to the log file>/worker.log
autostart=true
autorestart=true
startsecs=10

; Need to wait for currently executing tasks to finish at shutdown.
; Increase this if you have very long running tasks.
stopwaitsecs = 1000

; When resorting to send SIGKILL to the program to terminate it
; send SIGKILL to its whole process group instead,
; taking care of its children as well.
killasgroup=true

; if rabbitmq is supervised, set its priority higher
; so it starts first
priority=998

また、次の行を etc/supervisor/supervisord.conf に追加します。

[include]
files = /etc/supervisor/conf.d/*.conf

ここで、ターミナルに Supervisord と入力してスーパーバイザーを起動すると、上記の設定に従ってセロリが自動的に起動します。

于 2014-12-09T17:40:38.913 に答える
1

以下を実行できます。

python manage.py celery worker

これは、あなたが持っている場合に機能djceleryしますINSTALLED_APPS

于 2016-03-10T20:17:20.787 に答える