[英]Cron job in ruby on rails not work
我遵循了railscast http://railscasts.com/episodes/164-cron-in-ruby,但我似乎無法使其正常工作。
為了進行測試,我將其更改為每2秒一次。
[schedule.rb]
every '2 * * * *' do
rake "pages_controller:home"
end
[pages_controller.rb]
class PagesController < ApplicationController
def home
@title = "Home"
@companies = Company.find(:all, :limit => 20)
@count = Company.count
end
我把
gem 'whenever', :require => false
在我的gemfile中。 缺少了什么?
我使用過cron作業,但我將其作為rake任務運行,請嘗試一下
every 3.minutes do
set :environment, 'development'
rake "daily",:output => {:error => 'error.log', :standard => 'cron.log'}
end
我的任務是
require 'rubygems'
task :daily => :environment do
puts "i am fine"
# do your code
end
如果cron作業運行良好,則cron.log中將沒有任何內容,否則它將顯示
發生任何錯誤,此文件將在您的應用程序根目錄中生成。
試試吧..
所以...夫婦的事情。
capify .
獲得此capify .
...您最有可能觀看capistrano部署的相關內容 schedule.rb
every 1.day, :at => '4:30 am' do
runner 'Rails.cache.clear'
end
我真的不認為rake "pages_controller:home
不會起作用,除非您已經在其他地方創建了它。我進一步假設您正在緩存此頁面,這就是為什么您需要刷新緩存。
最后,您將環境設置為開發環境,這使我認為您沒有部署此環境,而只是想重置緩存的主頁...因此,只需運行rake cache:clear
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.