restalk 0.0.0.13 → 0.0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gemspec +23 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +36 -0
- data/lib/restalk.rb +69 -0
- metadata +6 -2
data/.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.expand_path("../lib/restalk", __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |gem|
|
4
|
+
gem.name = 'restalk'
|
5
|
+
gem.version = Restalk::VERSION
|
6
|
+
gem.date = Date.today.to_s
|
7
|
+
|
8
|
+
gem.summary = "Abstraction layer between Beanstalk / Resque"
|
9
|
+
gem.description = "Makes migrating from Beanstalk to resque (or back again) super-simple. Other backends welcome."
|
10
|
+
|
11
|
+
gem.authors = ['Matthew Bennett']
|
12
|
+
gem.email = 'matthew@quickwebdesign.net'
|
13
|
+
gem.homepage = 'http://github.com/undecisive/restalk'
|
14
|
+
|
15
|
+
#gem.add_development_dependency('rake')
|
16
|
+
gem.add_dependency('beanstalk-client', ["1.0.2"])
|
17
|
+
gem.add_dependency('resque', ['1.21.0'])
|
18
|
+
|
19
|
+
# ensure the gem is built out of versioned files
|
20
|
+
gem.files = `git ls-files`.split($\)
|
21
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
22
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
23
|
+
end
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
restalk (0.0.0.10)
|
5
|
+
beanstalk-client (= 1.0.2)
|
6
|
+
resque (= 1.21.0)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: http://rubygems.org/
|
10
|
+
specs:
|
11
|
+
beanstalk-client (1.0.2)
|
12
|
+
multi_json (1.3.6)
|
13
|
+
rack (1.4.1)
|
14
|
+
rack-protection (1.2.0)
|
15
|
+
rack
|
16
|
+
redis (3.0.1)
|
17
|
+
redis-namespace (1.2.0)
|
18
|
+
redis (~> 3.0.0)
|
19
|
+
resque (1.21.0)
|
20
|
+
multi_json (~> 1.0)
|
21
|
+
redis-namespace (~> 1.0)
|
22
|
+
sinatra (>= 0.9.2)
|
23
|
+
vegas (~> 0.1.2)
|
24
|
+
sinatra (1.3.2)
|
25
|
+
rack (~> 1.3, >= 1.3.6)
|
26
|
+
rack-protection (~> 1.2)
|
27
|
+
tilt (~> 1.3, >= 1.3.3)
|
28
|
+
tilt (1.3.3)
|
29
|
+
vegas (0.1.11)
|
30
|
+
rack (>= 1.0.0)
|
31
|
+
|
32
|
+
PLATFORMS
|
33
|
+
ruby
|
34
|
+
|
35
|
+
DEPENDENCIES
|
36
|
+
restalk!
|
data/lib/restalk.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
|
2
|
+
class Restalk
|
3
|
+
VERSION = '0.0.0.14'
|
4
|
+
def self.init(adapter)
|
5
|
+
extend BeanstalkAdapter if adapter == :beanstalk
|
6
|
+
extend ResqueAdapter if [:resque, :redis].include? adapter
|
7
|
+
super()
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.connected?
|
11
|
+
self.respond_to? :push
|
12
|
+
end
|
13
|
+
|
14
|
+
module BeanstalkAdapter
|
15
|
+
def init
|
16
|
+
require 'beanstalk-client'
|
17
|
+
@@beanstalk = Beanstalk::Pool.new([ENV['BEANSTALK'] || '127.0.0.1:11300'])
|
18
|
+
end
|
19
|
+
|
20
|
+
def push(data)
|
21
|
+
@@beanstalk.put(data)
|
22
|
+
end
|
23
|
+
|
24
|
+
def pop
|
25
|
+
@@beanstalk.reserve
|
26
|
+
end
|
27
|
+
|
28
|
+
def stats
|
29
|
+
@@beanstalk.stats
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
module ResqueAdapter
|
34
|
+
QUEUE = ENV['RESQUE_QUEUE'] || 'restalk_queue'
|
35
|
+
def init
|
36
|
+
require 'resque'
|
37
|
+
Resque.redis = ENV['REDIS'] || 'localhost:6379'
|
38
|
+
end
|
39
|
+
|
40
|
+
def push(data)
|
41
|
+
Resque.enqueue_to(QUEUE, RestalkResqueJob, data)
|
42
|
+
end
|
43
|
+
|
44
|
+
def pop
|
45
|
+
data = Resque.pop QUEUE
|
46
|
+
return RestalkResqueJob.new data['args'].first if data
|
47
|
+
end
|
48
|
+
|
49
|
+
def stats
|
50
|
+
Resque.info
|
51
|
+
end
|
52
|
+
|
53
|
+
class RestalkResqueJob
|
54
|
+
attr_accessor :body
|
55
|
+
def initialize(data)
|
56
|
+
@body = data
|
57
|
+
end
|
58
|
+
|
59
|
+
def perform(data)
|
60
|
+
@body = data
|
61
|
+
self
|
62
|
+
end
|
63
|
+
|
64
|
+
def delete
|
65
|
+
true
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restalk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.0.
|
4
|
+
version: 0.0.0.14
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beanstalk-client
|
@@ -50,7 +50,11 @@ executables: []
|
|
50
50
|
extensions: []
|
51
51
|
extra_rdoc_files: []
|
52
52
|
files:
|
53
|
+
- .gemspec
|
54
|
+
- Gemfile
|
55
|
+
- Gemfile.lock
|
53
56
|
- README.md
|
57
|
+
- lib/restalk.rb
|
54
58
|
homepage: http://github.com/undecisive/restalk
|
55
59
|
licenses: []
|
56
60
|
post_install_message:
|