我已经实现了Ahoy来跟踪我的应用程序中的事件,我想将处理转移到后台工作。
当我调用perform_now
(作业得到处理)时,我的设置正常,但更改为perform_later
不起作用。从日志来看,似乎工作甚至没有排队。
config/initializers/ahoy.rb
class Ahoy::Store < Ahoy::BaseStore
def track_visit(data)
AhoyTrackVisitJob.perform_later(@options, data)
end
def track_event(data)
AhoyTrackEventJob.perform_later(@options, data)
end
end
app/jobs/ahoy_track_event_job.rb
class AhoyTrackEventJob < ApplicationJob
queue_as :default
def perform(options, data)
Ahoy::DatabaseStore.new(options).track_event(data)
end
end
我尝试过Sidekiq和SuckerPunch:
development.rb
config.active_job.queue_adapter = :sidekiq