fix(service-monitor): 定时任务时区固定为 Asia/Shanghai
根因:5.60 服务器系统时区为 UTC,CronTrigger.from_crontab()
默认使用本地时区解析 cron,导致用户配的'每天 18:15'实际
在 UTC 18:15(北京时间凌晨 02:15)才触发。
修复:
- schedule_service.py 新增 SHANGHAI_TZ 常量
- _add_job() 的 CronTrigger 显式指定 Asia/Shanghai 时区
- _calc_next_run() 用北京时间作为基准计算下次执行
- start_date/end_date 用 SHANGHAI_TZ.localize() 转换
- 三处依赖同步声明 pytz(requirements / skill/requirements / upload_to_server)
验证:_calc_next_run('30 18 * * *') 返回北京时间 18:30;
5.60 next_run_at 现显示北京时间;51 用例全绿。
Co-Authored-By:
Claude <noreply@anthropic.com>
正在显示
| ... | @@ -17,3 +17,4 @@ cryptography==46.0.7 | ... | @@ -17,3 +17,4 @@ cryptography==46.0.7 |
| paramiko==4.0.0 | paramiko==4.0.0 | ||
| apscheduler==3.11.0 | apscheduler==3.11.0 | ||
| croniter==6.2.4 | croniter==6.2.4 | ||
| pytz>=2024.1 |
请
注册
或者
登录
后发表评论