このソリューションを使用しようとしましたが、成功しませんでした。タスクを実行する日を指定するにはどうすればよいですか? 私の解決策は
class DayOfMonth(schedule):
def __init__(self, day=1):
self.day = day
def is_due(self, last_run_at):
now = datetime.datetime.now()
if now.month != last_run_at.month and now.day == self.day:
return True, 3000
return False, 3000
def __eq__(self, other):
if isinstance(other, DayOfMonth):
return self.day == other.day and self.month == other.month
return False
django-celery で実行しようとしましたが、run_every が指定されていないというエラーが表示されます。
編集1:
以下を追加してタスクを実行します。
"my_task": {
"task": "util.tasks.CeleryManagementCommand",
"schedule": DayOfMonth(day=4),
"args": ('my_task',),
},
CELERYBEAT_SHEDULE
口述する
編集2:
initで run_every を指定すると-> self.run_every = None
None 型オブジェクトに属性 total_seconds がないというエラーが表示される