Class: JobRunner
- Inherits:
-
Object
show all
- Defined in:
- backend/app/lib/job_runner.rb
Defined Under Namespace
Classes: BackgroundJobError, JobRunnerNotFound
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
Constructor Details
- (JobRunner) initialize(job)
Returns a new instance of JobRunner
28
29
30
31
32
33
|
# File 'backend/app/lib/job_runner.rb', line 28
def initialize(job)
@job = job
RequestContext.open(:repo_id => @job.repo_id) do
@json = Job.to_jsonmodel(job)
end
end
|
Class Method Details
+ (Object) for(job)
7
8
9
10
11
12
13
14
|
# File 'backend/app/lib/job_runner.rb', line 7
def self.for(job)
@runners.each do |runner|
runner = runner.instance_for(job)
return runner if runner
end
raise JobRunnerNotFound.new("No suitable runner found for #{job.job_type}")
end
|
+ (Object) inherited(subclass)
23
24
25
|
# File 'backend/app/lib/job_runner.rb', line 23
def self.inherited(subclass)
JobRunner.register_runner(subclass)
end
|
+ (Object) register_runner(subclass)
17
18
19
20
|
# File 'backend/app/lib/job_runner.rb', line 17
def self.register_runner(subclass)
@runners ||= []
@runners.unshift(subclass)
end
|
Instance Method Details
- (Object) canceled(canceled)
36
37
38
39
|
# File 'backend/app/lib/job_runner.rb', line 36
def canceled(canceled)
@job_canceled = canceled
self
end
|
- (Object) run
42
|
# File 'backend/app/lib/job_runner.rb', line 42
def run; end
|