2016年3月21日月曜日

Celery を Supervisor で、デーモン化

こちらの続きです。
http://yamayoshi.blogspot.jp/2016/02/django18-celery3120-db.html

将来的に、1台のサーバーで複数のアプリを使いたいので、Supervisor を選択。

1.Supervisor インストール

$ sudo apt-get install supervisor

2.設定

File: /etc/supervisor/conf.d/celery.conf
--
[program:celery]
command=celery worker -A mysite -l info
directory=/path/to/env/proj ⇒ Django プロジェクトの場所を指定
environment=PYTHONPATH=/path/to/env/lib/python2.7/site-packages
 ⇒ Django パッケージの場所を指定
user=www-data ⇒ 起動ユーザを指定
numprocs=1
stdout_logfile=/var/log/celery/worker.log
stderr_logfile=/var/log/celery/worker.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
killasgroup=true
priority=1000
--

元は、こちら。
https://github.com/celery/celery/blob/3.1/extra/supervisord/celeryd.conf

3. 起動とステータスの確認

$ sudo /etc/init.d/supervisor start
$ sudo supervisorctl status

4.まとめ

PYTHONPATH で少し悩んだけど、また1つ勉強になりました。