class MidgetJobs::Job
Attributes
scheduler[R]
Public Class Methods
enqueue(job, at: nil)
click to toggle source
@param [ActiveJob::Base] job @param [Time] at
# File lib/midget_jobs/job.rb, line 10 def enqueue(job, at: nil) at = Time.at at if at.is_a? Numeric MidgetJob.create!(job_id: job.job_id, queue: job.queue_name, serialized: job.serialize, run_at: (at or 1.second.from_now)) end
enqueued_jobs()
click to toggle source
# File lib/midget_jobs/job.rb, line 15 def enqueued_jobs MidgetJob.all end
process_notification(hash_data)
click to toggle source
# File lib/midget_jobs/job.rb, line 23 def process_notification(hash_data) Rails.logger.info "#{self.name}.#{__method__}(#{hash_data})" case hash_data[:action] when 'INSERT' @scheduler.wakeup! else raise ArgumentError, "unknown action #{hash_data[:action]}" end end
schedule()
click to toggle source
# File lib/midget_jobs/job.rb, line 19 def schedule @scheduler = MidgetJobs::Scheduler.new.call end
Public Instance Methods
run(serialized_job)
click to toggle source
# File lib/midget_jobs/job.rb, line 34 def run(serialized_job) raise NotImplementedError, "serialized_job: #{serialized_job}" end