2012-07-17 53 views
35

對不起,這裏是一個相對Rails新手的快速問題。我正在嘗試使用Whenever gem來安排一些rake任務。我不能在我的生活中讓它實際上開始在我的開發機器上運行cron作業。Rails,在開發時使用gem

其他計算器線程來看,似乎我應該補充一點:

set :environment, "development" 

我schedule.rb文件。但那又如何?

然後,如何在啓動後停止cron作業?

在OSX使用Rails 3.2.3

UPDATE:答案是運行$ whenever -w其cron作業寫到crontab文件。系統立即開始自動運行該crontab文件。

不幸的是,我的日誌文件每當包含以下內容: "rake aborted! Don't know how to build task <task name>"

我想這可能是由於已知的crontab/RVM的問題,但任何建議,歡迎。

回答

6

您可以使用whenever命令及其各種選項來操作您的crontab。

$ whenever --help 
Usage: whenever [options] 
    -i [identifier],     Default: full path to schedule.rb file 
     --update-crontab 
    -w, --write-crontab [identifier] Default: full path to schedule.rb file 
    -c, --clear-crontab [identifier] 
    -s, --set [variables]   Example: --set 'environment=staging&path=/my/sweet/path' 
    -f, --load-file [schedule file] Default: config/schedule.rb 
    -u, --user [user]    Default: current user 
    -k, --cut [lines]    Cut lines from the top of the cronfile 
    -v, --version 
+0

謝謝。我沒有意識到的是,一旦你使用'when -w'寫入crontab文件,crontab會自動開始運行(即,你不必執行其他任何操作)。不幸的是,每當我的日誌文件「rake中止了!不知道如何構建任務」rake任務自己使用命令提示符下的$ rake。有什麼建議麼? – user1377556 2012-07-17 05:31:34

+0

您可能在任務的某處或每次事件中都有不正確的語法。嘗試獲得更豐富的堆棧跟蹤。 – Conner 2012-07-17 11:14:23

+0

做了一些搜索,看起來這可能是RVM的一個問題,顯然每次都有一些問題。任何建議,將不勝感激。 – user1377556 2012-07-18 05:10:07

2
whenever -c cron-name #removing cronjobs 
56

清除現有的cron作業。

crontab -r 

更新與環境的cronjob。

whenever --update-crontab --set environment='development' 
+1

我希望看到這些命令對於初學者來說更精確的描述! – 2015-11-15 00:15:08

0

在config/schedule.rb的頂部添加以下代碼行。

ENV['RAILS_ENV'] = "development"