我想在我的python项目中开发一个异步任务,该任务每天在特定时间运行一次。
我已经研究了很多关于克服这个功能的各种方法,但我对celery beat
和crontabs
及其功能非常困惑。如果有人帮助我理解两者之间的区别(如果有的话),包括他们的性能考虑,我会很高兴。
如您在以下代码中所见:
CELERYBEAT_SCHEDULE = {
'add-every-30-seconds': {
'task': 'tasks.add',
'schedule': crontab(hour=7, minute=30, day_of_week=1),
'args': (16, 16)
},
}
celery beat
实际上就是过程本身,把它想象成一个有设置的函数。函数是任务,设置是参数、名称和时间表,这里是crontab,它是一段时间,告诉celele何时循环通过它。
您也可以在这里看到crontabs
类型的列表。