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
24
25
26
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 24
def clear_queue(queue_name)
find_queue_by_name(queue_name).clear
end
|
#discard_all_jobs(jobs_relation) ⇒ Object
66
67
68
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 66
def discard_all_jobs(jobs_relation)
SolidQueueJobs.new(jobs_relation).discard_all
end
|
#discard_job(job, jobs_relation) ⇒ Object
70
71
72
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 70
def discard_job(job, jobs_relation)
find_solid_queue_job!(job.job_id, jobs_relation).discard
end
|
#dispatch_job(job, jobs_relation) ⇒ Object
74
75
76
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 74
def dispatch_job(job, jobs_relation)
dispatch_immediately find_solid_queue_job!(job.job_id, jobs_relation)
end
|
#fetch_jobs(jobs_relation) ⇒ Object
52
53
54
55
56
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 52
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
78
79
80
81
82
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 78
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
48
49
50
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 48
def jobs_count(jobs_relation)
SolidQueueJobs.new(jobs_relation).count
end
|
#pause_queue(queue_name) ⇒ Object
28
29
30
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 28
def pause_queue(queue_name)
find_queue_by_name(queue_name).pause
end
|
#queue_paused?(queue_name) ⇒ Boolean
36
37
38
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 36
def queue_paused?(queue_name)
find_queue_by_name(queue_name).paused?
end
|
#queue_size(queue_name) ⇒ Object
20
21
22
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 20
def queue_size(queue_name)
find_queue_by_name(queue_name).size
end
|
#queues ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 5
def queues
queues = SolidQueue::Queue.all
queue_names = queues.map(&:name)
pauses = SolidQueue::Pause.where(queue_name: queue_names).index_by(&:queue_name)
sizes = SolidQueue::ReadyExecution.where(queue_name: queue_names).group(:queue_name).count
queues.collect do |queue|
{
name: queue.name,
size: sizes[queue.name] || 0,
active: pauses[queue.name].nil?
}
end
end
|
#resume_queue(queue_name) ⇒ Object
32
33
34
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 32
def resume_queue(queue_name)
find_queue_by_name(queue_name).resume
end
|
#retry_all_jobs(jobs_relation) ⇒ Object
58
59
60
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 58
def retry_all_jobs(jobs_relation)
SolidQueueJobs.new(jobs_relation).retry_all
end
|
#retry_job(job, jobs_relation) ⇒ Object
62
63
64
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 62
def retry_job(job, jobs_relation)
find_solid_queue_job!(job.job_id, jobs_relation).retry
end
|
#supported_job_filters ⇒ Object
44
45
46
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 44
def supported_job_filters(*)
[ :queue_name, :job_class_name, :finished_at ]
end
|
#supported_job_statuses ⇒ Object
40
41
42
|
# File 'lib/active_job/queue_adapters/solid_queue_ext.rb', line 40
def supported_job_statuses
SolidQueueJobs::STATUS_MAP.keys
end
|