我正在尝试学习如何使用gem clockwork
。我只是想在我的Mac上测试并在开发日志上添加一行。我把它设置为3分钟进行测试。
我在lib / clock.rb中有以下内容:
require 'clockwork'
module Clockwork
handler do |job|
puts "Running #{job} =================================="
end
Clockwork.every(3.minutes, 'dailyjob')
end
然后我有lib / tasks / dailyjob.rb
class DailyJob
def perform
Rails.logger.info "Daily Job ========================================="
end
end
然后我通过控制台$ clockwork clock.rb
启动Clockworks。它启动,控制台每隔3分钟说一次:
Running dailyjob ==================================
I, [2014-03-04T11:03:32.084240 #66442] INFO -- : Triggering 'dailyjob'
但是,development.log文件中没有任何内容。
感谢您的帮助!
答案 0 :(得分:2)
每docs,除非另外配置,否则发条只会写入STDOUT:
默认情况下,发条记录到STDOUT。如果你喜欢自己的 记录器实现您必须指定记录器配置 选项。见下面的例子。
文档中的示例是:
module Clockwork
configure do |config|
config[:sleep_timeout] = 5
config[:logger] = Logger.new(log_file_path)
config[:tz] = 'EST'
config[:max_threads] = 15
config[:thread] = true
end
end