セロリの基本をうまく学んだことがありますが、実行可能なファイルを1つ作成する簡単な方法は見つけられませんでした(定期的に実行する別個のプロセスとしてcelerybeatを実行する必要はありませんタスク)。どのように私はとしてcelerybeatデーモンを実行しないようにするために(定期的なタスクを走っ開始するには、同じモジュールからのビート・プロセスを開始することができますセロリのタスクで実行可能な単一のファイルを作成する方法
from datetime import timedelta
from celery import Celery
app = Celery()
@app.task
def test():
print("he-he")
app.conf.update(
BROKER_URL="redis://localhost:6379",
CELERY_RESULT_BACKEND="redis://localhost:6379",
CELERY_ACCEPT_CONTENT=["application/json"],
CELERY_TASK_SERIALIZER="json",
CELERY_RESULT_SERIALIZER="json",
CELERYBEAT_SCHEDULE={
'runs-every-30-seconds': {
'task': '__main__.test',
'schedule': timedelta(seconds=30),
},
}
)
if __name__ == '__main__':
app.worker_main()
しかし:アプリを書いて、そのワーカープロセス(http://docs.celeryproject.org/en/3.1/userguide/application.html)を開始することが可能です別の実行可能ファイル)? Pyinstallerを使用したいので重要です。クライアントマシンでは専用のPythonインタプリタを使用できません。
ありがとうございます! そして、私はあなたにメリークリスマスと新年あけましておめでとう!