运行 使用 Rufus Scheduler 启动时的 cron 2.x

Running a cron on start-up using Rufus Scheduler 2.x

我正在尝试 运行 启动时的 cron,然后从那时起每天午夜。

我受 Dashing 约束,只能使用 Rufus Scheduler 2.0.24,我不能在其中使用 'first_in' 和 cron 命令。我要复制的3.x中的命令是这样的...

scheduler.cron '00 00 * * *', :first_in => '0' do

我想知道是否有解决办法?

我发现 this 描述了一个类似的问题 - 但这只会 运行 在指定分配时间的第一个实例而不是立即执行 cron。

一个简单的方法是:

job =
  proc do
    puts "hello"
  end

job.call
  # run it right now

scheduler.cron('00 00 * * *', &job)

但也许这个更具可读性:

job =
  scheduler.cron '00 00 * * *' do
    puts 'hello'
  end

job.block.call
  # run it right now

scheduler.join

感谢您发布新问题,它让一切都清楚了。 Rufus Scheduler :first_in option unknown with cron 的问题有点不同。

我知道这是关于 rufus-scheduler 2.0.24 的,但我想指出 3.3.x 中的一个新功能:https://github.com/jmettraux/rufus-scheduler/issues/214 您可以在其中执行 job.trigger_off_schedule 如果重叠、互斥和其他作业选项允许,它会立即调用作业。

回到2.0.24,上面显示的快捷方式没有细化,现在运行会被屏蔽。该块现在可能已经有一个 运行ning 实例,假设您已为 "midnight every night" 设置了时间表,并且恰好在午夜重新启动。因此,我认为上面的第一个解决方案是最好的,因为它会触发然后安排