1

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

次に、コンソールから Clockworks を起動し$ clockwork clock.rbます。起動し、3 分ごとにコンソールに次のように表示されます。

Running dailyjob ==================================
I, [2014-03-04T11:03:32.084240 #66442]  INFO -- : Triggering 'dailyjob'

しかし、development.log ファイルには何も表示されません。

助けてくれてありがとう!

4

1 に答える 1

2

docsごとに、Clockwork は、別の方法で構成しない限り、STDOUT にのみ書き込みます。

デフォルトでは、Clockwork は 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
于 2014-03-04T18:18:12.173 に答える