4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/sidekiq_poison_pill_remedy.rb', line 4
def self.remedy
proc do |_jobstr, pill|
next unless pill
job = Sidekiq::DeadSet.new.find_job(pill.jid)
if job.queue == "poison_pill"
capture_sentry_message(
"#{job.klass} failed in the `#{job.queue}`, this means that it has to be urgently optimized on memory usage",
level: :critical,
job_item: job.item
)
else
capture_sentry_message(
"#{job.klass} was marked as `poison pill`, please create the job memory optimizations ticket timely",
level: :warning,
job_item: job.item
)
job.klass.constantize.set(queue: :poison_pill).perform_async(*job.args)
job.delete
end
end
end
|