Huey 每日定时任务的坑

最近别人推荐了个轻量级任务队列 Huey,然后我就去试了下,挺好用的,但却碰了文档未说明的坑。

我要做一个每日执行一次的任务,文档只给出每三分钟执行一次的例子:

1
2
3
4
5
6
7
8
9
from huey import SqliteHuey
from huey import crontab

huey = SqliteHuey(filename='/tmp/demo.db')


@huey.periodic_task(crontab(minute='*/3'))
def every_three_minutes():
print('This task runs every three minutes')

我以为每日执行一次可以这样写:

1
2
3
@huey.periodic_task(crontab(day='*/1'))
def print_in_a_day():
print('-- PERIODIC TASK -- THIS RUNS EVERY 1 DAYS --')

结果它每一分钟就执行了一次,我:???

最后发现还需要设置执行小时和分钟:

1
2
3
@huey.periodic_task(crontab(day='*/1', hour='0', minute='0'))
def print_in_a_day():
print('-- PERIODIC TASK -- THIS RUNS EVERY 1 DAYS --')