2013-03-12 99 views
0

我需要在每周日晚上9点使用rufus安排脚本。每周日rufus/scheduler

我已经在我的task_schedule.rb以下

require 'rubygems' 
require 'rufus/scheduler' 

    scheduler = Rufus::Scheduler.start_new 

scheduler.every("week") do 
    puts("Emailing Unverified Evidence Items Digest #{Time.now}") 
    ArtifactsController.email_unverified_artifacts_digest 
end 

想知道什么是调度它的每一个“星期天晚上9点”的语法?

回答

1

如自述(https://github.com/jmettraux/rufus-scheduler/)所示,鲁弗斯调度理解的cron字符串,象在:

scheduler.cron("0 21 * * sun") do 
    # whatever... 
end 

在您的OSX/GNU/Linux系统,类型 “人5的crontab” 在一个终端具有该格式的详细解释。

干杯。

(请注意,鲁弗斯调度的cron功能无法充分利用底层系统的cron守护程序)

+0

可以此不同的是使用的cron来实现任何其他方式? – user1570144 2013-03-12 23:50:48

+0

当然,你可以写出每20秒醒来的每一项工作,如果“现在”恰好是星期天晚上9点,它可以完成工作...... 或者你可以在第一个星期天开始工作9m和说每一个(“1w”),它应该工作,除了它会慢慢失去同步... 天空是极限......许多方式在脚下自我射击。 让我们回到严肃的模式,cron符号在这里简洁地说“每个星期天晚上9点”,为什么要尝试使用别的东西? 请注意,您可以使用系统上的常规cron守护程序在“每个星期日晚上9点”运行rake任务。 – jmettraux 2013-03-13 01:01:24