Module: ActiveJob::QueueAdapters::SolidQueueExt
Defined Under Namespace
Classes: SolidQueueJobs
Instance Method Summary
collapse
#can_enqueue_recurring_task?, #enqueue_recurring_task, #find_recurring_task, #recurring_tasks, #supports_recurring_tasks?
Methods included from Workers
#count_workers, #exposes_workers?, #fetch_workers, #find_worker
#activating, #exposes_workers?, #find_recurring_task, #find_worker, #recurring_tasks, #supports_job_filter?, #supports_job_status?, #supports_queue_pausing?, #supports_recurring_tasks?, #workers
Instance Method Details
#clear_queue(queue_name) ⇒ Object
23
24
25
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 23
def clear_queue(queue_name)
find_queue_by_name(queue_name).clear
end
|
#discard_all_jobs(jobs_relation) ⇒ Object
65
66
67
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 65
def discard_all_jobs(jobs_relation)
SolidQueueJobs.new(jobs_relation).discard_all
end
|
#discard_job(job, jobs_relation) ⇒ Object
69
70
71
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 69
def discard_job(job, jobs_relation)
find_solid_queue_job!(job.job_id, jobs_relation).discard
end
|
#dispatch_job(job, jobs_relation) ⇒ Object
73
74
75
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 73
def dispatch_job(job, jobs_relation)
dispatch_immediately find_solid_queue_job!(job.job_id, jobs_relation)
end
|
#fetch_jobs(jobs_relation) ⇒ Object
51
52
53
54
55
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 51
def fetch_jobs(jobs_relation)
SolidQueueJobs.new(jobs_relation).jobs.map do |job|
deserialize_and_proxy_solid_queue_job(job, jobs_relation.status)
end
end
|
#find_job(job_id) ⇒ Object
77
78
79
80
81
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 77
def find_job(job_id, *)
if (job = SolidQueue::Job.where(active_job_id: job_id).order(:id).last)
deserialize_and_proxy_solid_queue_job job
end
end
|
#jobs_count(jobs_relation) ⇒ Object
47
48
49
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 47
def jobs_count(jobs_relation)
SolidQueueJobs.new(jobs_relation).count
end
|
#pause_queue(queue_name) ⇒ Object
27
28
29
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 27
def pause_queue(queue_name)
find_queue_by_name(queue_name).pause
end
|
#queue_paused?(queue_name) ⇒ Boolean
35
36
37
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 35
def queue_paused?(queue_name)
find_queue_by_name(queue_name).paused?
end
|
#queue_size(queue_name) ⇒ Object
19
20
21
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 19
def queue_size(queue_name)
find_queue_by_name(queue_name).size
end
|
#queues ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 6
def queues
queues = SolidQueue::Queue.all
pauses = SolidQueue::Pause.where(queue_name: queues.map(&:name)).index_by(&:queue_name)
queues.collect do |queue|
{
name: queue.name,
size: queue.size,
active: pauses[queue.name].nil?
}
end
end
|
#resume_queue(queue_name) ⇒ Object
31
32
33
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 31
def resume_queue(queue_name)
find_queue_by_name(queue_name).resume
end
|
#retry_all_jobs(jobs_relation) ⇒ Object
57
58
59
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 57
def retry_all_jobs(jobs_relation)
SolidQueueJobs.new(jobs_relation).retry_all
end
|
#retry_job(job, jobs_relation) ⇒ Object
61
62
63
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 61
def retry_job(job, jobs_relation)
find_solid_queue_job!(job.job_id, jobs_relation).retry
end
|
#supported_job_filters ⇒ Object
43
44
45
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 43
def supported_job_filters(*)
[:queue_name, :job_class_name, :finished_at]
end
|
#supported_job_statuses ⇒ Object
39
40
41
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 39
def supported_job_statuses
SolidQueueJobs::STATUS_MAP.keys
end
|