You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have an application which supports background jobs (report generations). I have a use-case in which if a report is taking too long i timeout the report. Below is the pseudo code:
def generate_report(user_id)
timeout_after = 10800 # In seconds # 3hours
StatsD.increment('report_generation', 1, tags:["name:report_generation_start", "user_id:#{user_id}"])
formats = [:csv, :xlsx]
formats.each do |r_format|
begin
Timeout.timeout(timeout_after) do
report = send("generate_#{r_format}")
end
rescue Timeout::Error => e
StatsD.increment('report_generation', 1, tags:["name:report_generation_timeout_error", "user_id:#{user_id}"])
break
end
end
StatsD.increment('report_generation', 1, tags:["name:report_generation_completed", "user_id:#{user_id}"])
end
I ran 3 background jobs for different users (let's say id 1, 2, 3).
On successful generation i see all 3 metrics being pushed correctly. However, on timeout error i see name:report_generation_start being pushed 3 times but name:report_generation_timeout_error, name:report_generation_completed being pushed only once or twice (there's always a missing entry atleast)
The text was updated successfully, but these errors were encountered:
I have an application which supports background jobs (report generations). I have a use-case in which if a report is taking too long i timeout the report. Below is the pseudo code:
I ran 3 background jobs for different users (let's say id 1, 2, 3).
On successful generation i see all 3 metrics being pushed correctly. However, on timeout error i see
name:report_generation_start
being pushed 3 times butname:report_generation_timeout_error
,name:report_generation_completed
being pushed only once or twice (there's always a missing entry atleast)The text was updated successfully, but these errors were encountered: