每小时安排一次工作,介于50到60分钟之间

时间:2018-07-05 11:25:30

标签: java spring cron quartz-scheduler

我试图在春季使用@Schedule,我想知道是否可以使用cron在50分钟至59分钟之间每小时运行一次,例如: 它将运行:13:58、14:52、15:57 16:50等...

谢谢

3 个答案:

答案 0 :(得分:1)

请参见以下示例:

s[s == 0].index

在crontab手册页的第5节:

Index([25c90900-cd25-4f51-8634-3eba9821e167,
   29b63a9d-3a60-4d69-b507-145977b0dc49,
   843a997d-5446-41d1-8697-4ded33bba85d,
   690d0511-232c-4bd9-98ae-c9bb101bc18b,
   35a2dabb-ac20-48cb-8d1e-adf53c68d546,
   859591fd-67fc-41b3-823b-33053dbccc47,
   7b8a4cfb-3010-4bc3-9963-14f2b4f6ffdb,
   266f5f1f-0a58-49ca-9e66-7e8d2058a836,
   77b99c57-f37b-48d5-b8b9-68929f31d3fc,
   47afb3d3-98bb-4486-8935-a0b57a2de0c6,
   ...
   e14e69f6-3e33-4d1f-beff-76a35c2e11e9,
   e81c9737-e632-460a-9a12-c6bc7b48341b,
   c63ddb6e-2d89-4188-97c0-794aab70a816,
   4c4a259c-7121-41c7-8e15-f8b87071489a,
   a612b6ee-4143-44a6-9214-81e607d4c9c3,
   9d95839e-94c6-4659-ab88-95159e3a1238,
   04826220-c5eb-4042-a355-217526aed323,
   6054dd2d-9298-49b9-8617-3e156459ab2d,
   3d8aeb80-7473-4d4c-90e6-8603133a7c65,
   0aa7ac36-0274-48ba-86e6-f807645e0559],
  dtype='object', name='uuid', length=2217)

答案 1 :(得分:0)

怎么样

0 55 * 1/1 * ? *

cronmaker.com一直是我生成cron表达式的好资源。

我认为@Scheduled仅接受静态cron表达式,并且您不得在表达式中使用SpEL。

但是,您可以实现自定义Trigger。通过使用SchedulingConfigurer在您的@Configuration类中实现ScheduledTaskRegistrar.addTriggerTask,可以与要执行的任务一起注册此触发器。

答案 2 :(得分:0)

您可以使用Spring的 RandomValuePropertySource

尝试一下:

@Scheduled(cron='0 ${random.int[0,9]} * 1/1 * *')