6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/solid_queue_tui/actions/discard_job.rb', line 6
def self.call(failed_execution_id)
conn = ActiveRecord::Base.connection
row = conn.select_one(
"SELECT fe.id, fe.job_id FROM solid_queue_failed_executions fe " \
"WHERE fe.id = #{conn.quote(failed_execution_id.to_i)}"
)
return false unless row
conn.transaction do
conn.execute(
"DELETE FROM solid_queue_failed_executions WHERE id = #{conn.quote(failed_execution_id.to_i)}"
)
conn.execute(
"UPDATE solid_queue_jobs SET finished_at = #{conn.quote(Time.now.utc.iso8601)} " \
"WHERE id = #{conn.quote(row['job_id'])}"
)
end
true
rescue => e
false
end
|