docbrown/app/workers/metrics/check_data_update_script_statuses.rb
Kirk Haines ed74f2f245
Abstract DatadogStatsClient to ForemStatsClient (#12304)
* 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.
2021-01-27 11:25:44 -05:00

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