0

私のプロジェクトではセロリを使用できません。django-cron のみです。タスクを 1 日 2 回実行する必要があります。

  • 午前 11 時 59 分
  • 午後 11 時 59 分

私はそれを行うことができますか?RUN_EVERY (分または秒) 変数のみが見つかりました。

4

1 に答える 1

1

私はこのdjango-cronに精通しています: https://github.com/andybak/django-cron

django-cron を駆動する実際の cronjob をそれらの時間にのみ実行するように設定できます (これにより、他のジョブを実行したい場合に有用性が低下しますが、説明したユースケースでは機能します)。その場合、crontab エントリは次のようになります。

59 11,23 * * * /path/to/python /path/to/manage.py cronjobs

その crontab エントリでは、django cron は 1 日 2 回、午前 11 時 59 分と午後 11 時 59 分にしか実行されないため、ジョブを毎分実行するように指定したとしても、その時間にのみ実行されます。ただし、何らかの理由で cron ジョブが失敗した場合、次の 12 時間は実行されません。

または、12 時間ごとに実行するようにジョブを設定することもできます

HOUR * 12

1 回実行した後、データベースを手動で編集して、最後の実行が午後 11 時 59 分または午前 (いずれか将来の時点) であることを示します。その後、12 時間ごとに実行が開始されるため、常に にヒットする必要があります。ちょうど11時59分。この場合、ジョブが失敗した場合、追いつくために 12:00 以降に実行を開始する可能性があります。

最初に述べたものとは異なる django-cron を使用している場合、これらのアイデアのいくつかは適用できるかもしれませんが、そうでないかもしれません。最初に述べたものを使用している場合は、必ず最新バージョンをプルしてください。5 日前にコミットを寄稿したため、ジョブが時間の経過とともにずれないようになっています (つまり、60 分ではなく 61 分後に実行されます)。など...)、彼らは特定の状況にありました。

于 2012-04-11T08:29:14.553 に答える