aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_job/queue_adapters/sneakers_adapter.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-20 12:38:59 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-20 12:38:59 -0300
commitbe3b805ad08a417d69f0b5293f36ea34d605bf43 (patch)
treeac7b4ebe6efc193a838b583d606c24e9e67cf98f /lib/active_job/queue_adapters/sneakers_adapter.rb
parentb13a3cb29b7b8823a085977dc6de801fb65acf71 (diff)
parentcbfc8b367ed04fdbb748d0712c33b0b62d3de331 (diff)
downloadrails-be3b805ad08a417d69f0b5293f36ea34d605bf43.tar.gz
rails-be3b805ad08a417d69f0b5293f36ea34d605bf43.tar.bz2
rails-be3b805ad08a417d69f0b5293f36ea34d605bf43.zip
Merge pull request #44 from DouweM/patch-1
Have Sneakers adapter take queue_name into account.
Diffstat (limited to 'lib/active_job/queue_adapters/sneakers_adapter.rb')
-rw-r--r--lib/active_job/queue_adapters/sneakers_adapter.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/active_job/queue_adapters/sneakers_adapter.rb b/lib/active_job/queue_adapters/sneakers_adapter.rb
index c6dbfa75bf..7be6b2a085 100644
--- a/lib/active_job/queue_adapters/sneakers_adapter.rb
+++ b/lib/active_job/queue_adapters/sneakers_adapter.rb
@@ -1,19 +1,23 @@
require 'sneakers'
+require 'thread'
module ActiveJob
module QueueAdapters
class SneakersAdapter
+ @mutex = Mutex.new
+
class << self
def queue(job, *args)
- JobWrapper.enqueue([job, *args])
+ @mutex.synchronize do
+ JobWrapper.from_queue job.queue_name
+ JobWrapper.enqueue [ job, *args ]
+ end
end
end
class JobWrapper
include Sneakers::Worker
- self.from_queue("queue", {})
-
def work(job, *args)
job.new.perform *Parameters.deserialize(args)
end