Python的zoneinfo支持IANA时区数据。本文讨论一般排程设计,不要求所有项目采用Python,也不把固定时差当作完整时区规则。
先确定任务按哪个地区的日历运行
模拟每日整理客户报表,记录“客户所在地每天上午”的意图及明确时区。保存执行时刻与展示日期时保留转换依据,避免服务器所在地变化后任务时间也跟着改变。
跨日记录使用同一比较标准
日志可以保留统一时间基准,同时显示业务时区。比较两次执行先后时,不直接比较不同地区的显示字符串。任务唯一编号也应包含业务周期,防止重启后重复生成同一天结果。
覆盖夏令时与补跑情形
对于存在夏令时的地区,测试不存在或重复出现的本地时间,并明确处理策略。还应验证停机后的补跑是否符合用户约定。本文提供排程方法,实际规则需要结合所用调度器及业务要求确认。
延伸阅读:AI创业。