ランダムな時間にいくつかのセロリのタスクを実行する必要があります。私は過去に何をしたか
は次のとおりです。
ランダムな時間にセロリのタスクを実行する
"my_task": {
"task": "path.to.my_task",
"schedule": crontab(minute='*/%s' % rand),
},
rand = random(1,12)
が、私のニーズはより多くのアヌのために、このコードは良くありません。
1.私は、各テナント
2用random0数と可能な限り(異なる必要があります。異なる番号がTHISの回答で説明したが、それは動作しませんでしたように私はスケジュールを上書きしようとした、より良い方法があるたびに発生していないだけでsettings.py負荷に(1回)
だろう?私は何かが足りないのですか?
(テナントAで例えばタスクが23で実行され、8時の翌日、及びテナントにタスクB 4で実行され、20などでは翌日)
ありがとう!
========更新====
私が得た素晴らしい答えた後、私はsuggested-
としての私の仕事とapply_asynch方法でそれを処理するためのオプションを追加しました。
"my-task": { # deprecated task
"task": "mdm_sync.tasks.test_task",
# "schedule": new_sc(),
"schedule": crontab(minute=39, hour=11),
"options": {
"eta": datetime.utcnow()
}
},
entry.options["eta"] = datetime.datetime.utcnow() + datetime.timedelta(seconds=random(3600,12*3600)
素晴らしい作品!
にするために使用しました。ありがとう! – amichib
お寄せいただきありがとうございます。 :) –