Class: SideJob::Job
- Inherits:
-
Object
- Object
- SideJob::Job
- Includes:
- JobMethods
- Defined in:
- lib/sidejob/job.rb,
lib/sidejob/testing.rb
Overview
Wrapper for a job which may not be in progress unlike SideJob::Worker.
Instance Attribute Summary
Attributes included from JobMethods
Instance Method Summary collapse
-
#initialize(alias_or_id) ⇒ Job
constructor
A new instance of Job.
-
#run_inline(errors: true, queue: true, args: []) ⇒ Object
Runs a single job once.
Methods included from JobMethods
#==, #add_alias, #adopt, #aliases, #child, #children, #delete, #disown, #eql?, #exists?, #get, #hash, #info, #inports, #inports=, #input, #lock, #outports, #outports=, #output, #parent, #publish, #queue, #redis_key, #refresh_lock, #remove_alias, #run, #set, #state, #status, #status=, #terminate, #terminated?, #unlock, #unset
Constructor Details
Instance Method Details
#run_inline(errors: true, queue: true, args: []) ⇒ Object
Runs a single job once. This method only works for jobs with no child jobs.
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/sidejob/testing.rb', line 31 def run_inline(errors: true, queue: true, args: []) self.status = 'queued' if queue worker_info = JSON.parse(SideJob.redis.get("#{redis_key}:worker")) worker = worker_info['class'].constantize.new worker.jid = id SideJob::ServerMiddleware.raise_errors = errors SideJob::ServerMiddleware.new.call(worker, {}, worker_info['queue']) do worker.perform(*args) end ensure SideJob::ServerMiddleware.raise_errors = false end |