* This change abstracts the DatadogStatsClient into a ForemStatsClient. The purpose of this abstraction is to set the foundation for a subsequent PR that will allow one to use New Relic for recording Forem stats, instead of Datadog, if there is a New Relic configuration found. This specific change creates an abstraction layer that can be built upon, without changing any actual default behavior. All specs still pass. * Use delegate instead of explicit methods. * Delegate instead of explicit methods. * Fix the error. * Refactor according to the suggestions in the comments. * Ooops. Stats work better when all of the code is committed. * Removing the alias of count to increment since that was done in error.
17 lines
459 B
Ruby
17 lines
459 B
Ruby
module Metrics
|
|
class CheckDataUpdateScriptStatuses
|
|
include Sidekiq::Worker
|
|
sidekiq_options queue: :low_priority, retry: 10
|
|
|
|
def perform
|
|
failed_scripts = DataUpdateScript.failed.where(created_at: 1.day.ago..Time.current)
|
|
failed_scripts.find_each do |script|
|
|
ForemStatsClient.count(
|
|
"data_update_scripts.failures",
|
|
1,
|
|
tags: ["file_name:#{script.file_name}"],
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|