whenever的一些用法示例command

TidyRead

Style:





Background
Foreground
Link Color
Link Visited

  Size:




  Width:



More

Open Mode
Overlay Original
Replace Original


Font
Arial
Tahoma
Verdana
Georgia
Segoe
Times
Book
Comic
Courier
Trebuchet
Palatino
Lucida
Text Align
Left
Justify
Text Dir
Left to Right
Right to Left
Disable TidyRead
Save Settings
Print
Close

rails:whenever使用

ruby on rails 2010-08-16 11:25:03 阅读97 评论   字号:大中小订阅

在项目中,通常我们会自定义一些Tasks任务,这些以.rake结尾的文件可能要在某一固定时间来执行。我现做的项目中,有一个排行榜的问题,而且数据都是从redis中读取的,而在次日的某个时候redis需要与我数据库中的数据做一次比较,然后把比较后的数据再次放入redis中。这样,我们需要每天都要rake一次。虽说这样也没什么麻烦的,但是现在人们追求的就是方便,所以用whenever这个插件来定时执行它,这样我们每天就能把重复做的这件事给省下来了。

先介绍一下whenever:

Whenever is a Ruby gem that provides a clear syntax for defining cron jobs. It outputs valid cron syntax and can even write your crontab file for you. It is designed to work well with Rails applications and can be deployed with Capistrano. Whenever works fine independently as well.

gem install whenever 会将whenever和相关需要的gem plugin一并安装的准备完毕。

在config/environment.rb下添加

require 'whenever'

然后切换到你当前项目下,执行:

wheneverize .   #会新建 config/schedule.rb

然后编辑schedule.rb就可以了,如下格式:

  every 3.hours do

    runner "MyModel.some_process"

    rake "my:rake:task"

    command "/usr/bin/my_great_command"

  end

#########################

  every 1.day, :at => '4:30 am' do

    runner "MyModel.task_to_run_at_four_thirty_in_the_morning"

  end

############################

  every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot

    runner "SomeModel.ladeeda"

  end

################################

  every :sunday, :at => '12pm' do # Use any day of the week or :weekend, :weekday

    runner "Task.do_something_great"

  end

0人|  分享到:

阅读(97)| 评论()| 引用 (0) |举报

历史上的今天
相关文章
最近读者

登录后,您可以在此留下足迹。

才才

才才

confli

confli

emily_wp

emily_wp

TidyReadClose TidyRead

原文地址:https://www.cnblogs.com/lexus/p/1950015.html