60

Celery には、通常の動作中に 10,000 秒間実行される可能性のあるタスクがあります。ただし、残りのすべてのタスクは 1 秒以内に完了する必要があります。実行時間の短いタスクの時間制限を変更せずに、意図的に長時間実行するタスクの時間制限を設定するにはどうすればよいですか?

4

2 に答える 2

82

タスクの定義中または呼び出し中に、タスクの時間制限(ハードおよび/またはソフト)を設定できます。

from celery.exceptions import SoftTimeLimitExceeded

@celery.task(time_limit=20)
def mytask():
    try:
        return do_work()
    except SoftTimeLimitExceeded:
        cleanup_in_a_hurry()

また

mytask.apply_async(args=[], kwargs={}, time_limit=30, soft_time_limit=10)
于 2012-07-26T21:10:08.027 に答える