enqueuers ignore failed jobs
This commit is contained in:
18
app/lib/domain/fa/has_count_failed_in_queue.rb
Normal file
18
app/lib/domain/fa/has_count_failed_in_queue.rb
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user