delayメソッドの話ではありません。
task_id を指定してタスクを取得し、実行前にその場で ETA を変更できるようにしたいと考えています。
今のところ、キャンセルして、スケジュールを変更する必要があります。スケジュールされたプロセスに多くのものが含まれている場合は面倒です。
DatabaseScheduler で django-celery と PeriodicTask を使用していると仮定すると、PeriodicTask 間隔または crontab を変更して保存する必要があります。タスクが間隔で定義されている場合は、last_run_atプロパティを変更します。
次のコマンドを使用して、データベース スケジューラで celerybeat を実行します。
python manage.py celerybeat -S djcelery.schedulers.DatabaseScheduler
セロリ/タスクキューの外に「一時停止」値を保存する必要があります。セロリを使ったメーラーでこれを行います。memcache または mysql のいずれかに値を設定することで、システムの一部を一時停止できます。タスクは、タスクを実行する前に、必ず外部リソースにクエリを実行します。一時停止することを意図している場合は、再試行遅延時間などを通過させる task.retry() を設定します。