首页 > 解决方案 > 多个时区中的 Spring @Scheduled 任务

问题描述

我有一个在美国(所有时区)运营的客户。我需要在每个时区的凌晨 2 点运行任务。此任务需要时区作为输入以获取仅与该区域相关的记录。

@Scheduled 注释具有timezone价值,一次只适用于一个时区。

我不想通过为每个区域设置 4 个单独的任务来复制代码。

标签: javaspringspring-bootschedulertaskscheduler

解决方案


使用带注释@Scheduled 的区域属性,(4.0 版添加)参见下面的示例

@Scheduled(cron = "0 10 19 * * FRI", zone = "CET") 

推荐阅读