运行使用鲁弗斯调度2.X在启动一个cron(Running a cron on start-up u

2019-09-27 02:32发布

我想,每天从该点运行启动和然后半夜一个cron。

我被德胜势必会动用鲁弗斯调度2.0.24,在我不能用“first_in”用cron命令。 我希望复制3.X的命令是这样的...

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

我不知道是否有解决这个办法?

我发现这个描述了一个类似的问题-但这只会在指定分配的时间一审运行cron和不立即。

Answer 1:

这样做将是一个简单的方法:

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

感谢张贴了新的问题,这让一切都清楚了。 在这个问题鲁弗斯调度:first_in选项未知:用cron是一个有点不同。

我知道这是对鲁弗斯调度2.0.24,但我想指出在3.3.x中的新功能: https://github.com/jmettraux/rufus-scheduler/issues/214在那里你可以做job.trigger_off_schedule它现在如果重叠,互斥等职务选项允许其调用的工作。

返回2.0.24,上面显示的快捷方式没有细化,它会马上运行块。 该块可能已经拥有现在运行的实例,想象一下你有“每晚午夜”计划集和你发生在午夜重新开始。 因此, 我觉得上面的第一个解决方案,是最好的,因为它触发然后调度



文章来源: Running a cron on start-up using Rufus Scheduler 2.x