ここのコードから /etc/defaults/ に celeryd ファイルを作成しました:
https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celeryd
今、デーモンとして celeryd を実行してこれを実行したい場合: sudo /etc/init.d/celerdy コマンドが見つからないと表示されます。どこが間違っていますか?
ここのコードから /etc/defaults/ に celeryd ファイルを作成しました:
https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celeryd
今、デーモンとして celeryd を実行してこれを実行したい場合: sudo /etc/init.d/celerdy コマンドが見つからないと表示されます。どこが間違っていますか?
ここで何をしているのかわかりませんが、セロリをデーモンとして実行する手順は次のとおりです。
/etc/init.d
で参照したファイルを、次の名前でフォルダー
にコピーする必要がありますceleryd
/etc/default
名前 のフォルダーに構成ファイルを作成する必要があります
。celeryd
この構成ファイルは基本的に、上記のスクリプトで使用される特定の変数とパスを定義します。構成例を次に示します。私は通常、この目的のためにスーパーバイザー(およびdjango-supervisor)を使用します。そうすれば、アプリケーション内の各プロセスをデーモン化する方法を理解する必要はありません (少なくとも、django をホストする Web サーバーと、セロリ、およびそれらの両方をサポートするために使用するその他のミドルウェアがあれば現実的です)。スーパーバイザーは自分自身をデーモンとして実行する方法を知っており、他のすべてのプロセスはスーパーバイザーの子として実行されます。
Marcin が彼の回答で説明したように、スーパーバイザーは通常人々が最終的に使用するものですが、python3 で動作するものを探していて、python3 をサポートすると思われるスーパーバイザーのバージョン 4 を待つことができない場合は、行くことができますサーカスと。インストール後、デーモン化するすべてのプロセスを含む circus.ini ファイルが必要です。次に、そのサンプル circus.ini を次のように実行します。
[watcher:celery]
cmd = full_path/python3.4 full_path/manage.py celeryd -B -l info
[watcher:celerycamera]
cmd = full_path/python3.4 full_path/manage.py celery events --camera=djcelery.snapshot.Camera
[watcher:dceleryflower]
cmd = full_path/python3.4 full_path/manage.py celery flower -A your_app_name --basic_auth=username:password --port=5555
詳細が必要な場合は、ここに同じ関連の投稿があります。誰かの時間を節約できることを願っています。ありがとう
注: ubuntu 16.04 では、.conf ファイルを使用した anser が機能しなくなりました。
.service ファイルを作成し、これを /etc/systemd/system/ に配置しました
使うことができます
sudo サービス myservice ステータス
sudo サービス myservice 開始
sudo サービス myservice 停止
コマンドとして
たとえば、このファイル:
myservice.service:
[Unit]
Description=My celery worker
[Service]
WorkingDirectory=/srv/my-project-path
User=buildout
Group=buildout
Restart=on-failure
RestartSec=20 5
ExecStart=/srv/my-project/bin/django celeryd -BE
[Install]
WantedBy=multi-user.target
Alias=myservice.service
私は buildout を使用しているため、bin/django の setad では、ほとんどのユーザーは python へのパスを使用し、代わりに mange.py を使用する必要があることに注意してください。
ベース: http://minecraft.gamepedia.com/Tutorials/Ubuntu_startup_script (systemd セクションを参照)