【问题标题】:Spring Batch Need to schedule / run a job with for a period of a year on weekly basisSpring Batch 需要每周安排/运行一年的工作
【发布时间】:2019-07-29 06:37:19
【问题描述】:

我有一个 API 可以根据日期返回客户数据,例如:

/customer?startdate=20180909&endDate=20181010.

现在这些 API 返回我需要存储在数据库中的大量数据。

我已经编写了一个 Spring 批处理来获取 API 数据并存储在 DB 中。

我的问题是 我希望这项工作以动态值触发,例如 6 个月、1 年、2 年。 收到此通知后,应每周触发作业,直到到达日期。 我的意思是如果我触发它 6 个月,该作业应该每周获取数据,直到到达 6 个月前的日期

我尝试了几种与时间表的组合,但没有成功,请在此处指导

提前致谢。

【问题讨论】:

  • 考虑使用分区器。 masterStep 确实会获取每周数据并存储在数据库中。并以周为单位进行分区。

标签: java spring-boot cron spring-batch schedule


【解决方案1】:

我认为这可以使用 cron 表达式来完成

@Scheduled(cron = "[Seconds] [Minutes] [Hours] [Day of Month] [Month] [Day of week] [Year]")

@Scheduled(cron = "0 10 8 ? 1-6 L 2018")

这里的 L 表示一周的最后一天。通常它被认为是星期六

【讨论】:

  • 我们可以即时使用这个计划吗?根据参数,如 6 个月、1 年 2 年。
  • 我没听懂你说的,请解释一下
猜你喜欢
  • 2017-11-17
  • 1970-01-01
  • 2020-12-07
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
相关资源
最近更新 更多