2012-04-04 46 views
1

我遵循javan教程的railscast,但我似乎無法實現它。 是否有安裝capistrano有cron工作?這是因爲我沒有deploy.rb。我詳細列出了步驟。如果有錯誤導致我的cron無法正常工作?我總是得到一份報告,說我收到了一封新郵件,但是我沒有發送任何電子郵件操作。Ruby-on-Rails每當通過Javan的工作步驟

第一步:

wheneverize . 

====> schedule.rb在config文件夾

步驟2: [Scheduler.rb]

every '1 * * * *' do 
    runner 'Company.count' 
end 

步驟3:[什麼是「store」?]

whenever --update-crontab store 

步驟4:[config/deploy.rb] < - 我沒有部署文件,所以我自己創建它。

after "deploy:symlink", "deploy:update_crontab" 

namespace :deploy do 
    desc "Update the crontab file" 
    task :update_crontab, :roles => :db do 
    run "cd #{release_path} && whenever --update-crontab #{application}" 
    end 
end 

第5步:

whenever --update-crontab store 

crontab -l 

有什麼我錯過了?爲什麼它沒有工作?請逐步啓發我,因爲我是新手在ROR ..謝謝。

回答

2

Whenever docs具有部署每當Capistrano的一個例子。只需將以下內容添加到您的Capistrano部署配置的頂部即可。

​​

然後每當將安裝到的cron作爲部署的一部分。


UPDATE

要測試每當已成功更新的cronSSH到目標機器的Capistrano的目標機器用戶部署和運行crontab -l。你應該看到類似這樣的輸出:

crontab -l 

# Begin Whenever generated tasks for: app_name 
0 0 * * * /bin/bash -l -c 'cd /opt/path/app_name/releases/20120321133343 && RAILS_ENV=production rake group:task --silent' 

0 3 * * 6 /bin/bash -l -c '/opt/path/app_name/shared/bin/script' 

# End Whenever generated tasks for: app_name 
+0

in deploy.rb file?和捆綁安裝它會做什麼? – 2012-04-04 12:59:18

+0

是的,在deploy.rb中。當你部署時,無論何時將使用bundle來更新部署目標的cron – mguymon 2012-04-04 13:03:11

+0

你知道一種方法,我可以測試它是否真的有效嗎? – 2012-04-04 13:38:17