You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Django Celery Beat 2.8.0 每小时多次任务正常触发但每日任务未执行的问题求助

Django Celery Beat 2.8.0 每小时多次任务正常触发但每日任务未执行的问题求助

大家好,我碰到一个挺奇怪的问题,想请教下各位大佬:

  • 那些配置成每小时内每隔几分钟执行的定时任务(比如*/20 * * * *这种),Celery Beat的日志里能看到调度记录,Celery也能正常执行这些任务,完全没问题。
  • 但是配置成每天执行一次的任务(比如15 11 * * *)到了指定时间却毫无动静,Celery Beat的日志里连相关的调度记录都没有。

我特意查了数据库里的定时任务相关表,数据看起来都正常,唯一的问题是那些没触发的任务,last_run_at字段一直是null。

下面是对应任务的数据库查询记录:

查询周期任务表:

select * from django_celery_beat_periodictask where id=7;

查询结果:

id | name | task | args | kwargs | queue | exchange | routing_key | expires | enabled | last_run_at | total_run_count | date_changed | description | crontab_id | interval_id | solar_id | one_off | start_time | priority | headers | clocked_id | expire_seconds
----+----------------------------------------------+---------------------------------+------+--------+-------+----------+-------------+---------+---------+-------------+-----------------+-------------------------------+-------------+------------+-------------+----------+---------+------------+----------+---------+------------+----------------
7 | hub_builtin__dhmaintenance.tasks.rotate_logs | dhmaintenance.tasks.rotate_logs | [] | {} | | | | | t | | 0 | 2025-09-25 04:39:20.172338+00 | | 6 | | | f | | | {} | |

对应的定时规则表:

select * from django_celery_beat_crontabschedule where id=6;

查询结果:

id | minute | hour | day_of_week | day_of_month | month_of_year | timezone
----+--------+------+-------------+--------------+---------------+----------
6 | 30 | 0 | * | * | * | UTC

我已经确认过任务是启用状态(enabled字段为t),服务器时区和任务配置的UTC一致,定时规则看起来也没问题(每天0点30分执行),但就是没触发。有没有大佬碰到过类似的情况?或者能给我一些排查方向的建议吗?

火山引擎 最新活动