[英]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.