diff --git a/app/jobs/events/bust_cache_job.rb b/app/jobs/events/bust_cache_job.rb deleted file mode 100644 index 8dec75706..000000000 --- a/app/jobs/events/bust_cache_job.rb +++ /dev/null @@ -1,9 +0,0 @@ -module Events - class BustCacheJob < ApplicationJob - queue_as :events_bust_cache - - def perform(cache_buster = CacheBuster) - cache_buster.bust_events - end - end -end diff --git a/app/models/event.rb b/app/models/event.rb index 9ec89e5b4..99b3ebcf7 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -45,6 +45,6 @@ class Event < ApplicationRecord end def bust_cache - Events::BustCacheJob.perform_later + Events::BustCacheWorker.perform_async end end diff --git a/app/workers/events/bust_cache_worker.rb b/app/workers/events/bust_cache_worker.rb new file mode 100644 index 000000000..6d8e84e8c --- /dev/null +++ b/app/workers/events/bust_cache_worker.rb @@ -0,0 +1,10 @@ +module Events + class BustCacheWorker + include Sidekiq::Worker + sidekiq_options queue: :low_priority, retry: 10 + + def perform + CacheBuster.bust_events + end + end +end diff --git a/spec/jobs/events/bust_cache_job_spec.rb b/spec/jobs/events/bust_cache_job_spec.rb deleted file mode 100644 index f232ddc9d..000000000 --- a/spec/jobs/events/bust_cache_job_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -require "rails_helper" - -RSpec.describe Events::BustCacheJob do - include_examples "#enqueues_job", "events_bust_cache" - - describe "#perform_now" do - let(:cache_buster) { class_double(CacheBuster) } - - before do - allow(cache_buster).to receive(:bust_events) - end - - it "busts cache" do - described_class.perform_now(cache_buster) - - expect(cache_buster).to have_received(:bust_events) - end - end -end diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb index cccfa7d20..8be1ff50b 100644 --- a/spec/models/event_spec.rb +++ b/spec/models/event_spec.rb @@ -26,6 +26,8 @@ RSpec.describe Event, type: :model do end it "triggers cache busting on save" do - expect { event.save }.to have_enqueued_job.on_queue("events_bust_cache") + sidekiq_assert_enqueued_jobs(1, queue: "low_priority") do + event.save + end end end diff --git a/spec/workers/events/bust_cache_worker_spec.rb b/spec/workers/events/bust_cache_worker_spec.rb new file mode 100644 index 000000000..0355d2134 --- /dev/null +++ b/spec/workers/events/bust_cache_worker_spec.rb @@ -0,0 +1,13 @@ +require "rails_helper" + +RSpec.describe Events::BustCacheWorker do + include_examples "#enqueues_on_correct_queue", "low_priority" + + describe "#perform" do + it "busts cache" do + allow(CacheBuster).to receive(:bust_events) + described_class.new.perform + expect(CacheBuster).to have_received(:bust_events) + end + end +end