enqueuers ignore failed jobs

This commit is contained in:
Dylan Knutson
2023-04-14 14:32:01 -07:00
parent b8163f9e77
commit dc4c1b1df9
3 changed files with 22 additions and 16 deletions

View File

@@ -0,0 +1,18 @@
module Domain::Fa::HasCountFailedInQueue
extend ActiveSupport::Concern
included do
def count_failed_in_queue(queue_name)
GoodJob::Job.where(
queue_name: queue_name,
finished_at: nil,
performed_at: nil,
error: nil,
).where(
[
"(serialized_params->'exception_executions' = '{}')",
"(serialized_params->'exception_executions' is null)",
].join(" OR ")
).count
end
end
end

View File

@@ -2,6 +2,7 @@ class Domain::Fa::PostEnqueuer
include HasBulkEnqueueJobs
include HasColorLogger
include HasMeasureDuration
include Domain::Fa::HasCountFailedInQueue
def initialize(reverse_scan_holes:, start_at:, low_water_mark:, high_water_mark:)
@low_water_mark = low_water_mark
@@ -73,10 +74,6 @@ class Domain::Fa::PostEnqueuer
private
def enqueued_count
GoodJob::Job.where(
queue_name: ["static_file", "fa_post"],
finished_at: nil,
performed_at: nil,
).count
count_failed_in_queue(["static_file", "fa_post"])
end
end

View File

@@ -2,6 +2,7 @@ class Domain::Fa::UserEnqueuer
include HasBulkEnqueueJobs
include HasColorLogger
include HasMeasureDuration
include Domain::Fa::HasCountFailedInQueue
def initialize(start_at:, low_water_mark:, high_water_mark:)
@low_water_mark = low_water_mark
@@ -81,17 +82,7 @@ class Domain::Fa::UserEnqueuer
"fa_user_avatar",
"static_file",
].map do |queue_name|
GoodJob::Job.where(
queue_name: queue_name,
finished_at: nil,
performed_at: nil,
error: nil,
).where(
[
"(serialized_params->'exception_executions' = '{}')",
"(serialized_params->'exception_executions' is null)",
].join(" OR ")
).count
count_failed_in_queue(queue_name)
end.max
end
end