module DelayedWorker::Concern
Public Instance Methods
add_delayed_worker( time: Time.now, job_name: 'Delayed worker', subject_id: respond_to?(:id) ? id : nil, subject_type: self.class, params: {}, &block )
click to toggle source
# File lib/delayed_worker/concern.rb, line 5 def add_delayed_worker( time: Time.now, job_name: 'Delayed worker', subject_id: respond_to?(:id) ? id : nil, subject_type: self.class, params: {}, &block ) callback = block.source.split("\n")[1..-2].join("\n") delayed_worker_log "Delayed worker:\033[0;33m #{job_name} \033[0mis adding into queue!" # valid type: Time, DateTime, ActiveSupport::TimeWithZone or 5.minutes (a integer) if (time.respond_to?(:to_time) and time.to_time.is_a?(Time)) or time.is_a?(Integer) DelayedWorker.perform_in(time, job_name, subject_id, subject_type, callback, params) else delayed_worker_log "Delayed worker:\033[0;33m #{job_name} \033[0mtime invalid!" end end