首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails whenever :每月20日

Rails whenever :每月20日
EN

Stack Overflow用户
提问于 2011-06-23 19:58:26
回答 4查看 11K关注 0票数 17

我在互联网上到处寻找,文档中并没有具体谈到月度工作。所以我希望这里有人能告诉我怎么做。

我已经安装了什么时候的gem,我需要知道的就是正确的语法:

代码语言:javascript
复制
every :month, :on => '20th', :at => '02:00' do
  runner "Mailer.send_friend_sheet"
end

希望有人能给我指明正确的方向。

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-23 20:34:02

据我所知,无论何时都不支持:on选项,但您应该能够这样做

代码语言:javascript
复制
every '0 2 20 * *' do
  runner "Mailer.send_friend_sheet"
end

'0 2 20 * *‘只是相关的cron语法-请参阅http://www.manpagez.com/man/5/crontab/

票数 11
EN

Stack Overflow用户

发布于 2011-06-23 20:34:15

如果你不知道如何使用ruby语法,你也可以使用raw cron语法。

您需要的内容将如下所示:

代码语言:javascript
复制
every '0 2 20 * *' do
  command "echo 'you can use raw cron syntax too'"
end

下面是如何使用cron语法的快速指南

代码语言:javascript
复制
*     *     *   *    *        command to be executed
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- day of week (0 - 6) (Sunday=0)
|     |     |   +------- month (1 - 12)
|     |     +--------- day of month (1 - 31)
|     +----------- hour (0 - 23)
+------------- min (0 - 59)

不知羞耻地窃取自:http://adminschoice.com/crontab-quick-reference

票数 40
EN

Stack Overflow用户

发布于 2013-05-20 18:14:41

如果你想让它更具可读性,你也可以只解析文本形式的日期。

代码语言:javascript
复制
every 1.month, :at => 'January 20th 2:00am' do
  runner "Mailer.send_friend_sheet"
end

这也将生成0 2 20 * *

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6453618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档