From 75c0e512f4b477a035a24f972aadc7a51a22742d Mon Sep 17 00:00:00 2001 From: KMY Date: Wed, 27 Sep 2023 10:56:08 +0900 Subject: [PATCH] Fix ProcessReferencesWorker error for tasks before update --- app/services/process_references_service.rb | 4 ++-- app/workers/process_references_worker.rb | 4 ++-- spec/workers/process_references_worker_spec.rb | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 spec/workers/process_references_worker_spec.rb diff --git a/app/services/process_references_service.rb b/app/services/process_references_service.rb index faf5965a7a..0be4bc9160 100644 --- a/app/services/process_references_service.rb +++ b/app/services/process_references_service.rb @@ -46,7 +46,7 @@ class ProcessReferencesService < BaseService return unless need_process?(status, reference_parameters, urls) Rails.cache.write("status_reference:#{status.id}", true, expires_in: 10.minutes) - ProcessReferencesWorker.perform_async(status.id, reference_parameters, urls, []) + ProcessReferencesWorker.perform_async(status.id, reference_parameters, urls, no_fetch_urls: []) end def self.call_service(status, reference_parameters, urls) @@ -133,6 +133,6 @@ class ProcessReferencesService < BaseService end def launch_worker - ProcessReferencesWorker.perform_async(@status.id, @reference_parameters, @urls, @no_fetch_urls) + ProcessReferencesWorker.perform_async(@status.id, @reference_parameters, @urls, no_fetch_urls: @no_fetch_urls) end end diff --git a/app/workers/process_references_worker.rb b/app/workers/process_references_worker.rb index a3815e1ece..8b6d0d7b34 100644 --- a/app/workers/process_references_worker.rb +++ b/app/workers/process_references_worker.rb @@ -3,8 +3,8 @@ class ProcessReferencesWorker include Sidekiq::Worker - def perform(status_id, ids, urls, no_fetch_urls) - ProcessReferencesService.new.call(Status.find(status_id), ids || [], urls: urls || [], no_fetch_urls: no_fetch_urls) + def perform(status_id, ids, urls, no_fetch_urls: nil) + ProcessReferencesService.new.call(Status.find(status_id), ids || [], urls: urls || [], no_fetch_urls: no_fetch_urls || []) rescue ActiveRecord::RecordNotFound true end diff --git a/spec/workers/process_references_worker_spec.rb b/spec/workers/process_references_worker_spec.rb new file mode 100644 index 0000000000..10a2bc68f9 --- /dev/null +++ b/spec/workers/process_references_worker_spec.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe ProcessReferencesWorker do + let(:worker) { described_class.new } + + describe 'perform' do + it 'runs without error for simple call' do + expect { worker.perform(1000, [], []) }.to_not raise_error + end + + it 'runs without error with no_fetch_urls' do + expect { worker.perform(1000, [], [], no_fetch_urls: []) }.to_not raise_error + end + end +end