簡體   English   中英

Rails Clockwork 事件在本地被調用兩次

[英]Rails Clockwork events getting called twice locally

當我運行我的發條文件時,事件被注冊兩次。 難道我做錯了什么?

CLI 我在本地運行進行測試: clockwork app/lib/clockwork/clock.rb

時鍾.rb:

require 'clockwork'
require 'active_support/time'
require './config/boot'
require './config/environment'

module Clockwork
  handler do |job, time|
    puts "Running #{job} at #{time}"
    puts
  end

  every(1.hour, 'test') do 
    puts 'RUNNING TEST'
  end
end

輸出:

I, INFO -- : Starting clock for 2 events: [ test test ]
I, INFO -- : Triggering 'test'
BLOCK RUNNING TEST
I, INFO -- : Triggering 'test'
BLOCK RUNNING TEST

經過大量調試后,我發現這是因為在我的 development.rb 文件中我有:

config.eager_load = true

其中,結合

require './config/boot'
require './config/environment'

運行時鍾文件兩次。 我相信這是因為我正在預加載應用程序 (eager_load),然后使用 require 語句再次加載?

無論如何,當從我的 procfile 運行時鍾時(用 $ heroku local 測試)時,eager_load 被忽略,所以它工作正常。

希望這可以幫助任何人,因為我已經堅持了一段時間!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM