Sha256: 4b8fac4a7d307905699cdf7e13243db405bce4f8525dd01f176f4f3a3ee99a25
Contents?: true
Size: 1.51 KB
Versions: 32
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true require 'active_job' require "funktor/worker/funktor_options" module ActiveJob module QueueAdapters # == Funktor adapter for Active Job # # To use Funktor set the queue_adapter config to +:funktor+. # # Rails.application.config.active_job.queue_adapter = :funktor class FunktorAdapter def enqueue(job) # :nodoc: job.provider_job_id = Funktor.job_pusher.push({ "worker" => JobWrapper.to_s, "wrapped" => job.class, "queue" => job.class.work_queue, "perform_at" => Time.now.utc, "worker_params" => [ job.serialize ] }) end def enqueue_at(job, timestamp) # :nodoc: time = Time.at(timestamp).utc job.provider_job_id = Funktor.job_pusher.push({ "worker" => JobWrapper.to_s, "wrapped" => job.class, "queue" => job.class.work_queue, "perform_at" => time, "worker_params" => [ job.serialize ] }) end class JobWrapper #:nodoc: include Funktor::Worker def perform(job_data) Funktor.logger.debug "job_data = #{job_data.class} #{job_data}" if job_data.is_a?(Array) Funktor.logger.debug "it's an array" job_data = job_data.first Funktor.logger.debug "job_data = #{job_data.class} #{job_data}" end Base.execute job_data end end end end class Base include Funktor::Worker::FunktorOptions end end
Version data entries
32 entries across 32 versions & 1 rubygems