10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'app/services/solid_queue_monitor/reject_job_service.rb', line 10
def reject_many(ids)
return { success: false, message: 'No jobs selected' } if ids.blank?
success_count = 0
failed_count = 0
ids.each do |id|
execution = SolidQueue::ScheduledExecution.find_by(id: id)
if execution
reject_job(execution)
success_count += 1
else
failed_count += 1
end
rescue StandardError
failed_count += 1
end
if success_count.positive? && failed_count.zero?
{ success: true, message: 'All selected jobs have been rejected' }
elsif success_count.positive? && failed_count.positive?
{ success: true, message: "#{success_count} jobs rejected, #{failed_count} failed" }
else
{ success: false, message: 'Failed to reject jobs' }
end
end
|