java - @Schedule Cron 表达式根据属性文件中的夏令时调整
问题描述
我想安排两个任务,它们将在每天凌晨 1.01 CST/CEST 运行(因为服务器在 BST --> 00:01)和 & 17.30 CST/CEST(所以 BST --> 16.30)。
由于夏令时的变化,我必须手动调整。我希望它自动调整。
那么我该如何在 cron 作业中处理它
第一项任务
@Scheduled(cron = "${job.schedule}") // 00:01
public void startSchedulePullData() throws Exception {
LOGGER.info("Fetching all schedules");
List<FileForTransfer> dataPullSchedulesList = dbUtils.findPullDataScheduled();
第二个任务
@Scheduled(cron = "${job.schedule.fileransfer}") // evening 5:30 PM CET
public void startScheduleFileTransfer() throws Exception {
LOGGER.info("Fetching all schedules");
List<FileForTransfer> fileTransferScheduleList = dbUtils.findFileTransferScheduled();
在属性文件中
job.schedule=0 01 00 * * *
job.schedule.fileransfer = 0 30 16 * * *
解决方案
在夏令时更改期间,应该在运行代码的服务器/机器上更新时间,它会自动反映在您的代码中,无需任何手动调整。
如果您觉得这不能回答您的问题,请详细说明具体情况以及您必须手动进行的调整。
推荐阅读
- firebase - 如何使用 getAdminSdkConfig API 来初始化 firebase admin SDK?
- javascript - Javascript - var添加问题
- ios - 如何在 Expo 中使用 ATTrackingManager
- redis - 如何将 Redis 键链接到特定实体?
- listbox - 如何在列表框中显示数字?
- c# - Roslyn 语义分析:为什么从单元测试调用时会有所不同?
- python - tf.data.Dataset:完成GeneratorDataset迭代器时发生错误:前置条件失败:Python解释器状态未初始化
- r - 使用 dplyr 时出错:“namespace:vctrs”未导出对象“data_frame”
- r - tuneGrid 在神经网络模型中无法正常工作
- python - Django Bootstrap 不会让我居中这个容器