私はDjangoで灌漑システムをプログラミングしています。私はCeleryを使って非同期タスクを処理しています。djangoフロントエンドからタスクをスケジュールする方法はありますか?
私のアプリケーションでは、ユーザは灌漑を有効にしたい曜日と時間を選択します。これはデータベースに保存され、いつでも更新できます。
私はこのようなタスクをスケジュールすることができますが、私は時間を更新したいと思います。
from celery.task.schedules import crontab
from celery.decorators import periodic_task
@periodic_task(run_every=crontab(hour=7, minute=30, day_of_week="mon"))
def every_monday_morning():
print("This runs every Monday morning at 7:30a.m.")
もう一つの方法は、私が実行したいと使用可能な場合は、ジャンゴから選択されるものをリストアップランタイムテーブルを持つことで
特定の日付(秒)でセロリジョブを作成できます。あなたが必要とするのは、countdownパラメータを指定してapply_asyncを呼び出すことだけです。 http://docs.celeryproject.org/en/latest/userguide/calling.html#eta-and-countdown –
Python APSchedulerがうまく動作します。 – cardamom