微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Celery-beat 不适用于每天的日程安排

如何解决Celery-beat 不适用于每天的日程安排

我尝试使用 celery-beat 运行任务。当我按分钟或小时计划启动它时,任务将正确启动,但如果我尝试运行每日任务,它会显示在 django 管理面板中,但不会及时运行。

它必须以下列方式工作:常规 django 代码在 Party 类中启动一个“start_primaries”任务:

def setup_task(self):
    schedule,created = IntervalSchedule.objects.get_or_create(every=7,period=IntervalSchedule.DAYS)
    self.task = PeriodicTask.objects.create(
        name=self.title + ',id ' + str(self.pk),task='start_primaries',interval=schedule,args=json.dumps([self.id]),start_time=timezone.Now()
    )
    self.save()

是否可能有一些设置限制了任务的生命周期?目前我在 Django 设置中有以下内容

CELERY_TASK_TRACK_STARTED = True
CELERY_TASK_TIME_LIMIT = 950400
CELERY_broKER_URL = 'redis://redis:6379/0'
CELERY_RESULT_BACKEND = 'django-db'
CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
CELERY_TASK_RESULT_EXPIRES = None
CELERY_broKER_TRANSPORT_OPTIONS = {'visibility_timeout': 950400}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。