Adapter layer on top of queueing systems like Resque and Delayed Job.
Full adapter list: :backburner, :delayed_job, :qu, :que, :queue_classic, :resque, :sidekiq, :sneakers, :sucker_punch
ActiveJob::Base.queue_adapter = :inline # default queue adapter
# Declare a job:
class MyJob < ActiveJob::Base
queue_as :my_jobs
def perform(record)
record.do_work
end
end
# Enqueue a job:
MyJob.perform_later(@user) # Perform as soon the queueing system is free.
MyJob.set(wait_until: Date.tomorrow.noon).perform_later(@user) # Perform tomorrow at noon.
MyJob.set(wait: 1.week).perform_later(@user) # Perform 1 week from now.