0

アプリケーション内のイベントを追跡するために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
4

0 に答える 0