Django プロジェクトで Celery を使用しようとしています。そしていつものように、私は何かをグーグルで検索し、同じものに関するいくつかのSOFの質問、いくつかのブログ、そしてもちろん公式ドキュメントを読みました.
しかし、djangoでセロリをサービスとして実行するとなると、非常に混乱します。これのソースは見つかりませんでした。
1 つのアプリを使用した単純な django プロジェクト。この App フォルダーには、tasks.py
すべてのタスクが格納されているファイルがあります (今のところ、単一のタスクです)。
タスク.py
from celery.task.schedules import crontab
from celery.decorators import periodic_task
@periodic_task(run_every=crontab(minute="*/45"))
def mytask():
#some stuff to do
...
# return a value
これらは私の設定構成です
設定.py
from __future__ import absolute_import
import djcelery
djcelery.setup_loader()
BROKER_URL = "amqp://user:user@localhost:5672/vhost"
CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'
CELERY_BEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
'djcelery'
INSTALLED_APS に追加されました
今、Celery ワーカーを実行したい場合は、screen/tmux でこのコマンドを使用する必要があります
python manage.py celeryd --verbosity=2 --loglevel=DEBUG -B
また
python manage.py celeryd --verbosity=2 --loglevel=DEBUG &
nginx、uwsgi、mysqlなどを実行するようなサービスとして実行できるかどうかを知りたいです。デーモンモードで実行したくありません。これどうやってするの?
主にこれをやりたいだけsudo service celery restart/reload/stop/start
です
PS: 私が言ったように、私は SOF スレッドをほとんど読んだことがなく、それらの多くは使用しないでくださいと言っていますcrontab
。じゃあ何を使えばいいの?これはセキュリティ上の問題ですか?