From 9b9024f6cf4f81bba8ff9010adc22c06489f7ca2 Mon Sep 17 00:00:00 2001 From: JonathanHallam Date: Thu, 26 Sep 2024 14:52:33 +0100 Subject: [PATCH] Make WebhookWorker WebhookJob Sidekiq Workers are no longer supported by the new version --- app/models/batch.rb | 2 +- app/workers/{webhook_worker.rb => webhook_job.rb} | 10 +++++----- config/initializers/govuk_error.rb | 2 +- .../{webhook_worker_spec.rb => webhook_job_spec.rb} | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) rename app/workers/{webhook_worker.rb => webhook_job.rb} (89%) rename spec/workers/{webhook_worker_spec.rb => webhook_job_spec.rb} (98%) diff --git a/app/models/batch.rb b/app/models/batch.rb index 8f466233..b8318c58 100644 --- a/app/models/batch.rb +++ b/app/models/batch.rb @@ -23,7 +23,7 @@ def trigger_webhook return unless completed? return if webhook_triggered - WebhookWorker.perform_async( + WebhookJob.perform_async( BatchPresenter.new(self).report.to_json, webhook_uri, webhook_secret_token, diff --git a/app/workers/webhook_worker.rb b/app/workers/webhook_job.rb similarity index 89% rename from app/workers/webhook_worker.rb rename to app/workers/webhook_job.rb index a2a748d6..9415997d 100644 --- a/app/workers/webhook_worker.rb +++ b/app/workers/webhook_job.rb @@ -1,8 +1,8 @@ -class RestartWorkerException < RuntimeError +class RestartJobException < RuntimeError end -class WebhookWorker - include Sidekiq::Worker +class WebhookJob + include Sidekiq::Job sidekiq_options queue: :webhooks, retry: 4, lock: :until_and_while_executing, lock_args_method: :unique_args @@ -25,7 +25,7 @@ def perform(report, uri, secret_token, batch_id) connection.post do |req| req.url uri req.headers["Content-Type"] = "application/json" - req.headers["User-Agent"] = "#{ENV.fetch('GOVUK_APP_NAME', 'link-checker-api')} (webhook-worker)" + req.headers["User-Agent"] = "#{ENV.fetch('GOVUK_APP_NAME', 'link-checker-api')} (webhook-job)" req.headers[SIGNATURE_HEADER] = generate_signature(report, secret_token) if secret_token req.body = report end @@ -33,7 +33,7 @@ def perform(report, uri, secret_token, batch_id) batch.update!(webhook_triggered: true) rescue Faraday::ClientError => e logger.error e.message - raise RestartWorkerException + raise RestartJobException rescue Faraday::ServerError => e logger.error e.message end diff --git a/config/initializers/govuk_error.rb b/config/initializers/govuk_error.rb index f3e3e5ef..f471171a 100644 --- a/config/initializers/govuk_error.rb +++ b/config/initializers/govuk_error.rb @@ -2,6 +2,6 @@ config.data_sync_excluded_exceptions += %w[ Faraday::ServerError Faraday::ConnectionFailed - RestartWorkerException + RestartJobException ] end diff --git a/spec/workers/webhook_worker_spec.rb b/spec/workers/webhook_job_spec.rb similarity index 98% rename from spec/workers/webhook_worker_spec.rb rename to spec/workers/webhook_job_spec.rb index 8f9dd193..73c4314f 100644 --- a/spec/workers/webhook_worker_spec.rb +++ b/spec/workers/webhook_job_spec.rb @@ -1,6 +1,6 @@ require "rails_helper" -RSpec.describe WebhookWorker do +RSpec.describe WebhookJob do specify { expect(described_class).to have_valid_sidekiq_options } describe "perform" do