From ded7daac5ed11aaa080c1378575d03952b6d6080 Mon Sep 17 00:00:00 2001 From: Alexander Zubkov Date: Wed, 2 Apr 2025 17:04:01 +0300 Subject: [PATCH 1/3] Add enqueue_after_transaction_commit? --- lib/active_job/queue_adapters/sneakers_adapter.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/active_job/queue_adapters/sneakers_adapter.rb b/lib/active_job/queue_adapters/sneakers_adapter.rb index 07554b4b..e21ef095 100644 --- a/lib/active_job/queue_adapters/sneakers_adapter.rb +++ b/lib/active_job/queue_adapters/sneakers_adapter.rb @@ -24,6 +24,10 @@ def enqueue_at(job, timestamp) raise NotImplementedError, 'This queueing backend does not support scheduling jobs.' end + def enqueue_after_transaction_commit? + false + end + class JobWrapper include Sneakers::Worker from_queue 'default' From 3becbc4f6f58473db13f08ffc0a1e9dfcf094dc2 Mon Sep 17 00:00:00 2001 From: Alexander Zubkov Date: Thu, 3 Apr 2025 22:11:35 +0300 Subject: [PATCH 2/3] Just subclass --- lib/active_job/queue_adapters/sneakers_adapter.rb | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/active_job/queue_adapters/sneakers_adapter.rb b/lib/active_job/queue_adapters/sneakers_adapter.rb index e21ef095..4eaace80 100644 --- a/lib/active_job/queue_adapters/sneakers_adapter.rb +++ b/lib/active_job/queue_adapters/sneakers_adapter.rb @@ -8,7 +8,7 @@ module QueueAdapters # To use Sneakers set the queue_adapter config to +:sneakers+. # # Rails.application.config.active_job.queue_adapter = :sneakers - class SneakersAdapter + class SneakersAdapter < AbstractAdapter def initialize @monitor = Monitor.new end @@ -24,10 +24,6 @@ def enqueue_at(job, timestamp) raise NotImplementedError, 'This queueing backend does not support scheduling jobs.' end - def enqueue_after_transaction_commit? - false - end - class JobWrapper include Sneakers::Worker from_queue 'default' From 708accfe2c73c0242c17a8c551a1ecbac4c5e44e Mon Sep 17 00:00:00 2001 From: Alexander Zubkov Date: Fri, 4 Apr 2025 10:47:36 +0300 Subject: [PATCH 3/3] Support older Rails --- lib/active_job/queue_adapters/sneakers_adapter.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/active_job/queue_adapters/sneakers_adapter.rb b/lib/active_job/queue_adapters/sneakers_adapter.rb index 4eaace80..82108544 100644 --- a/lib/active_job/queue_adapters/sneakers_adapter.rb +++ b/lib/active_job/queue_adapters/sneakers_adapter.rb @@ -8,7 +8,7 @@ module QueueAdapters # To use Sneakers set the queue_adapter config to +:sneakers+. # # Rails.application.config.active_job.queue_adapter = :sneakers - class SneakersAdapter < AbstractAdapter + class SneakersAdapter < (const_defined?(:AbstractAdapter) ? AbstractAdapter : Object) def initialize @monitor = Monitor.new end