beanstalk-worker 0.0.1 → 0.0.2
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/Gemfile +5 -1
- data/Rakefile +2 -2
- data/lib/beanstalk-worker/config.rb +104 -0
- data/lib/beanstalk-worker/logger.rb +42 -0
- data/lib/beanstalk-worker/version_class.rb +52 -0
- data/lib/beanstalk-worker/worker.rb +42 -81
- data/lib/beanstalk-worker.rb +10 -2
- data/spec/beanstalk-worker_spec.rb +10 -35
- data/spec/spec_helper.rb +1 -1
- metadata +70 -4
- data/lib/beanstalk-worker/version.rb +0 -12
data/Gemfile
CHANGED
@@ -4,6 +4,10 @@ source "http://rubygems.org"
|
|
4
4
|
# gem "activesupport", ">= 2.3.5"
|
5
5
|
|
6
6
|
gem 'beanstalk-client'
|
7
|
+
gem "mixlib-log", "~> 1.6.0"
|
8
|
+
gem "mixlib-config", "~> 1.1.2"
|
9
|
+
gem "mixlib-log-json", "~> 0.0.1"
|
10
|
+
gem "yajl-ruby", "~> 1.1.0"
|
7
11
|
|
8
12
|
# Add dependencies to develop your gem here.
|
9
13
|
# Include everything needed to run rake, tests, features, etc.
|
@@ -15,5 +19,5 @@ group :development do
|
|
15
19
|
gem "bundler", "~> 1.3.5"
|
16
20
|
gem "jeweler", "~> 1.8.4"
|
17
21
|
gem "beanstalk-client-rspec", ">= 0"
|
18
|
-
gem (RUBY_VERSION
|
22
|
+
gem (RUBY_VERSION.gsub('.', '').to_i >= 190 ? "simplecov" : "rcov"), ">= 0"
|
19
23
|
end
|
data/Rakefile
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bundler'
|
5
|
-
require './lib/beanstalk-worker
|
5
|
+
require './lib/beanstalk-worker.rb'
|
6
6
|
|
7
7
|
begin
|
8
8
|
Bundler.setup(:default, :development)
|
@@ -17,7 +17,7 @@ require 'jeweler'
|
|
17
17
|
Jeweler::Tasks.new do |gem|
|
18
18
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
19
19
|
gem.name = "beanstalk-worker"
|
20
|
-
gem.version = BeanStalk::Worker::
|
20
|
+
gem.version = BeanStalk::Worker::VERSION
|
21
21
|
gem.homepage = "http://github.com/aia/beanstalk-worker"
|
22
22
|
gem.license = "MIT"
|
23
23
|
gem.summary = %Q{Beanstalkd Worker base class}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'mixlib/config'
|
2
|
+
require 'yajl'
|
3
|
+
require 'yaml'
|
4
|
+
|
5
|
+
# The configuration object for the gemindexer worker.
|
6
|
+
class BeanStalk::Worker
|
7
|
+
class Config
|
8
|
+
extend Mixlib::Config
|
9
|
+
|
10
|
+
# Return the configuration itself upon inspection.
|
11
|
+
def self.inspect
|
12
|
+
configuration.inspect
|
13
|
+
end
|
14
|
+
|
15
|
+
# Loads a given file and passes it to the appropriate parser.
|
16
|
+
#
|
17
|
+
# @raise [ IOError ] Any IO Exceptions that occur.
|
18
|
+
#
|
19
|
+
# @param [ String ] filename The filename to read.
|
20
|
+
# @param [ String ] parser The parser to use.
|
21
|
+
# @param [ String ] environment The environment to read config for.
|
22
|
+
def self.from_file(filename, parser="yaml", environment="development")
|
23
|
+
send("from_file_#{parser}".to_sym, filename, environment)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Loads a given ruby file and runs instance_eval against it
|
27
|
+
# in the context of the current object.
|
28
|
+
#
|
29
|
+
# @raise [ IOError ] Any IO Exceptions that occur.
|
30
|
+
#
|
31
|
+
# @param [ String ] filename The file to read.
|
32
|
+
def self.from_file_ruby(filename, *args)
|
33
|
+
self.instance_eval(IO.read(filename), filename, 1)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Loads a given yaml file and merges the current context
|
37
|
+
# configuration with the updated hash.
|
38
|
+
#
|
39
|
+
# @raise [ IOError ] Any IO Exceptions that occur.
|
40
|
+
# @raise [ Yajl::ParseError ] Raises Yajl Parsing error on improper json.
|
41
|
+
#
|
42
|
+
# @param [ String ] filename The file to read.
|
43
|
+
# @param [ String ] environment The environment to use.
|
44
|
+
def self.from_file_yaml(filename, environment)
|
45
|
+
configuration.merge!(YAML.load_file(filename)[environment])
|
46
|
+
end
|
47
|
+
|
48
|
+
# Loads a given json file and merges the current context
|
49
|
+
# configuration with the updated hash.
|
50
|
+
#
|
51
|
+
# @raise [ IOError ] Any IO Exceptions that occur.
|
52
|
+
# @raise [ Yajl::ParseError ] Raises Yajl Parsing error on improper json.
|
53
|
+
#
|
54
|
+
# @param [ String ] filename The file to read.
|
55
|
+
def self.from_file_json(filename, *args)
|
56
|
+
self.from_stream_json(IO.read(filename))
|
57
|
+
end
|
58
|
+
|
59
|
+
# Loads a given json input and merges the current context
|
60
|
+
# configuration with the updated hash.
|
61
|
+
#
|
62
|
+
# @raise [ IOError ] Any IO Exceptions that occur.
|
63
|
+
# @raise [ Yajl::ParseError ] Raises Yajl Parsing error on improper json.
|
64
|
+
#
|
65
|
+
# @param [ String ] input The json configuration input.
|
66
|
+
def self.from_stream_json(input, *args)
|
67
|
+
parser = Yajl::Parser.new(:symbolize_keys => true)
|
68
|
+
configuration.merge!(parser.parse(input))
|
69
|
+
end
|
70
|
+
|
71
|
+
# Helper method for generation the beanstalk uri
|
72
|
+
#
|
73
|
+
# @return [ String ] The beanstalk uri.
|
74
|
+
def self.beanstalk_uri
|
75
|
+
[self['beanstalk']['server'], self['beanstalk']['port']].join(":")
|
76
|
+
end
|
77
|
+
|
78
|
+
# When you are using ActiveSupport, they monkey-patch 'daemonize' into
|
79
|
+
# Kernel. So while this is basically identical to what method_missing
|
80
|
+
# would do, we pull it up here and get a real method written so that
|
81
|
+
# things get dispatched properly.
|
82
|
+
config_attr_writer :daemonize do |v|
|
83
|
+
configure do |c|
|
84
|
+
c[:daemonize] = v
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
# Enable debug
|
89
|
+
debug false
|
90
|
+
|
91
|
+
# Logging Settings
|
92
|
+
log_level :warn
|
93
|
+
log_location STDOUT
|
94
|
+
log_formatter :json
|
95
|
+
|
96
|
+
# Beanstalk config
|
97
|
+
beanstalk({
|
98
|
+
:server => '127.0.0.1',
|
99
|
+
:port => 11300,
|
100
|
+
:tube => 'worker1'
|
101
|
+
})
|
102
|
+
|
103
|
+
end
|
104
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'logger'
|
2
|
+
require 'mixlib/log'
|
3
|
+
require 'mixlib/log/formatter'
|
4
|
+
require 'mixlib/log/jsonformatter'
|
5
|
+
|
6
|
+
# Beanstalk::Worker's internal logging facility.
|
7
|
+
# Standardized to provide a consistent log format.
|
8
|
+
module BeanStalk::Worker::Log
|
9
|
+
class << self
|
10
|
+
include Mixlib::Log
|
11
|
+
|
12
|
+
# Use Mixlib::Log.init when you want to set up the logger manually. Arguments to this method
|
13
|
+
# get passed directly to Logger.new, so check out the documentation for the standard Logger class
|
14
|
+
# to understand what to do here.
|
15
|
+
#
|
16
|
+
# If this method is called with no arguments, it will log to STDOUT at the :warn level.
|
17
|
+
#
|
18
|
+
# It also configures the Logger instance it creates to use the custom Mixlib::Log::Formatter class.
|
19
|
+
def init(*opts)
|
20
|
+
reset!
|
21
|
+
@logger = logger_for(BeanStalk::Worker::Config[:log_location])
|
22
|
+
if @logger.respond_to?(:formatter=)
|
23
|
+
if BeanStalk::Worker::Config[:log_formatter].eql?(:json)
|
24
|
+
@logger.formatter = Mixlib::Log::JSONFormatter.new()
|
25
|
+
else
|
26
|
+
@logger.formatter = Mixlib::Log::Formatter.new()
|
27
|
+
end
|
28
|
+
end
|
29
|
+
@logger.level = Logger.const_get(
|
30
|
+
BeanStalk::Worker::Config[:log_level].to_s.upcase)
|
31
|
+
@logger
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Monkeypatch Formatter to allow local show_time updates.
|
36
|
+
class Formatter
|
37
|
+
# Allow enabling and disabling of time with a singleton.
|
38
|
+
def self.show_time=(*args)
|
39
|
+
Mixlib::Log::Formatter.show_time = *args
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module BeanStalk
|
2
|
+
class Worker
|
3
|
+
module Version
|
4
|
+
include Comparable
|
5
|
+
attr_reader :major, :minor, :patch
|
6
|
+
|
7
|
+
def initialize(str="")
|
8
|
+
parse(str)
|
9
|
+
end
|
10
|
+
|
11
|
+
def inspect
|
12
|
+
"#{@major}.#{@minor}.#{@patch}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_s
|
16
|
+
"#{@major}.#{@minor}.#{@patch}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def <=>(v)
|
20
|
+
[:major, :minor, :patch].each do |method|
|
21
|
+
ans = (self.send(method) <=> v.send(method))
|
22
|
+
return ans if ans != 0
|
23
|
+
end
|
24
|
+
0
|
25
|
+
end
|
26
|
+
|
27
|
+
def hash
|
28
|
+
to_s.hash
|
29
|
+
end
|
30
|
+
|
31
|
+
# For hash
|
32
|
+
def eql?(other)
|
33
|
+
other.is_a?(Version) && self == other
|
34
|
+
end
|
35
|
+
|
36
|
+
protected
|
37
|
+
|
38
|
+
def parse(str="")
|
39
|
+
@major, @minor, @patch =
|
40
|
+
case str.to_s
|
41
|
+
when /^(\d+)\.(\d+)\.(\d+)$/
|
42
|
+
[ $1.to_i, $2.to_i, $3.to_i ]
|
43
|
+
when /^(\d+)\.(\d+)$/
|
44
|
+
[ $1.to_i, $2.to_i, 0 ]
|
45
|
+
else
|
46
|
+
"'#{str.to_s}' does not match 'x.y.z' or 'x.y'"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -1,90 +1,51 @@
|
|
1
|
-
require 'logger'
|
2
1
|
require 'beanstalk-client'
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
class BeanStalk::Worker
|
4
|
+
attr_accessor :config, :log, :beanstalk, :stats
|
5
|
+
|
6
|
+
def initialize(config = {})
|
7
|
+
@config = BeanStalk::Worker::Config
|
8
|
+
@config.merge!(config || {})
|
9
|
+
@logger = BeanStalk::Worker::Log
|
10
|
+
|
11
|
+
@logger.info("Logging started")
|
7
12
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
'server' => "127.0.0.1",
|
12
|
-
'port' => "11300",
|
13
|
-
'tube' => "worker1"
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
@config['beanstalk'].merge!(config['beanstalk'] || {})
|
18
|
-
|
19
|
-
initialize_logger unless logger
|
20
|
-
|
21
|
-
@log = logger if logger
|
22
|
-
|
23
|
-
@log.error("Logging started")
|
24
|
-
|
25
|
-
@stats = {
|
26
|
-
'received' => 0
|
27
|
-
}
|
28
|
-
|
29
|
-
initialize_beanstalk
|
30
|
-
end
|
13
|
+
@stats = {
|
14
|
+
'received' => 0
|
15
|
+
}
|
31
16
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
17
|
+
initialize_beanstalk
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize_beanstalk
|
21
|
+
@beanstalk = Beanstalk::Pool.new([
|
22
|
+
BeanStalk::Worker::Config.beanstalk_uri
|
23
|
+
])
|
24
|
+
|
25
|
+
@beanstalk.watch(@config[:beanstalk][:tube])
|
26
|
+
@beanstalk.use(@config[:beanstalk][:tube])
|
27
|
+
@beanstalk.ignore('default')
|
28
|
+
end
|
29
|
+
|
30
|
+
def start(received = -1)
|
31
|
+
while (received == -1) || (@stats['received'] < received)
|
42
32
|
begin
|
43
|
-
|
44
|
-
|
33
|
+
job = @beanstalk.reserve
|
34
|
+
|
35
|
+
@logger.debug("job #{job.inspect}")
|
36
|
+
@logger.debug("job #{job.body.inspect}")
|
37
|
+
|
38
|
+
@stats['received'] += 1
|
39
|
+
|
40
|
+
job.delete if work(job)
|
45
41
|
rescue Exception => e
|
46
|
-
@
|
47
|
-
|
48
|
-
'level' => 'INFO'
|
49
|
-
}
|
50
|
-
@log = Logger.new(@config['log']['file'])
|
51
|
-
@log.level = Logger.const_get(@config['log']['level'])
|
52
|
-
@log.error("Caught a problem with log settings")
|
53
|
-
@log.error("#{e.message}")
|
54
|
-
@log.error("Setting log settings to defaults")
|
42
|
+
@logger.error("Caught exception #{e.to_s}")
|
43
|
+
exit
|
55
44
|
end
|
56
45
|
end
|
57
|
-
|
58
|
-
def initialize_beanstalk
|
59
|
-
@beanstalk = Beanstalk::Pool.new([
|
60
|
-
[@config['beanstalk']['server'], @config['beanstalk']['port']].join(":")
|
61
|
-
])
|
62
|
-
|
63
|
-
@beanstalk.watch(@config['beanstalk']['tube'])
|
64
|
-
@beanstalk.use(@config['beanstalk']['tube'])
|
65
|
-
@beanstalk.ignore('default')
|
66
|
-
end
|
67
|
-
|
68
|
-
def start(received = -1)
|
69
|
-
while (received == -1) || (@stats['received'] < received)
|
70
|
-
begin
|
71
|
-
job = @beanstalk.reserve
|
72
|
-
|
73
|
-
@log.info("job #{job.inspect}")
|
74
|
-
@log.info("job #{job.body.inspect}")
|
75
|
-
|
76
|
-
@stats['received'] += 1
|
77
|
-
|
78
|
-
job.delete if work(job)
|
79
|
-
rescue Exception => e
|
80
|
-
@log.error("Caught exception #{e.to_s}")
|
81
|
-
exit
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def work(job)
|
87
|
-
return true
|
88
|
-
end
|
89
46
|
end
|
90
|
-
|
47
|
+
|
48
|
+
def work(job)
|
49
|
+
return true
|
50
|
+
end
|
51
|
+
end
|
data/lib/beanstalk-worker.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
module BeanStalk
|
4
|
+
class Worker
|
5
|
+
VERSION = '0.0.2'
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'beanstalk-worker/version_class'
|
10
|
+
require 'beanstalk-worker/config'
|
11
|
+
require 'beanstalk-worker/logger'
|
12
|
+
require 'beanstalk-worker/worker'
|
@@ -2,24 +2,19 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
require 'beanstalk-client-rspec'
|
5
|
-
require 'pp'
|
6
5
|
|
7
6
|
describe "BeanStalk" do
|
8
7
|
describe "Worker" do
|
9
8
|
before(:each) do
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
'port' => "11300",
|
14
|
-
'tube' => "worker1"
|
15
|
-
}
|
16
|
-
}
|
9
|
+
BeanStalk::Worker::Config[:log_location] = '/dev/null'
|
10
|
+
BeanStalk::Worker::Log.init
|
11
|
+
BeanStalk::Worker::Log.reset!
|
17
12
|
|
18
13
|
@test_config = {
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
14
|
+
:beanstalk => {
|
15
|
+
:server => '10.10.10.10',
|
16
|
+
:port => 11111,
|
17
|
+
:tube => 'testqueue'
|
23
18
|
}
|
24
19
|
}
|
25
20
|
|
@@ -29,39 +24,21 @@ describe "BeanStalk" do
|
|
29
24
|
stub_const("Beanstalk::Pool", Beanstalk::MockPool)
|
30
25
|
end
|
31
26
|
|
32
|
-
it "should initialize with defaults" do
|
33
|
-
@worker = BeanStalk::Worker.new
|
34
|
-
|
35
|
-
@worker.config['beanstalk'].should eql @default_config['beanstalk']
|
36
|
-
end
|
37
|
-
|
38
27
|
it "should initialize with configuration" do
|
39
28
|
@worker = BeanStalk::Worker.new(@test_config)
|
40
|
-
|
41
|
-
@worker.config['beanstalk'].should eql @test_config['beanstalk']
|
29
|
+
@worker.config[:beanstalk].should eql @test_config[:beanstalk]
|
42
30
|
end
|
43
31
|
|
44
32
|
it "should receive queued messages" do
|
45
33
|
@worker = BeanStalk::Worker.new(@test_config)
|
46
|
-
|
47
34
|
@worker.beanstalk.put("foo")
|
48
|
-
|
49
35
|
job = @worker.beanstalk.reserve
|
50
|
-
|
51
36
|
job.body.should eql "foo"
|
52
37
|
end
|
53
38
|
|
54
|
-
it "should log messages" do
|
55
|
-
logger = mock Logger
|
56
|
-
logger.should_receive(:error).with("Logging started")
|
57
|
-
@worker = BeanStalk::Worker.new(@test_config, logger)
|
58
|
-
end
|
59
|
-
|
60
39
|
it "should start" do
|
61
40
|
@worker = BeanStalk::Worker.new(@test_config)
|
62
|
-
|
63
41
|
@worker.beanstalk.put("foo")
|
64
|
-
|
65
42
|
@worker.start(1)
|
66
43
|
end
|
67
44
|
|
@@ -78,7 +55,6 @@ describe "BeanStalk" do
|
|
78
55
|
@worker = BeanStalk::Worker.new(@test_config)
|
79
56
|
|
80
57
|
3.times { @worker.beanstalk.put("foo") }
|
81
|
-
|
82
58
|
expect {
|
83
59
|
@worker.start(4)
|
84
60
|
}.to raise_exception
|
@@ -89,8 +65,7 @@ describe "BeanStalk" do
|
|
89
65
|
it "should start to receive undefined number of messages" do
|
90
66
|
@worker = BeanStalk::Worker.new(@test_config)
|
91
67
|
|
92
|
-
3.times { @worker.beanstalk.put("foo") }
|
93
|
-
|
68
|
+
3.times { @worker.beanstalk.put("foo") }
|
94
69
|
expect {
|
95
70
|
@worker.start(4)
|
96
71
|
}.to raise_exception
|
@@ -98,4 +73,4 @@ describe "BeanStalk" do
|
|
98
73
|
@worker.stats['received'].should eql 3
|
99
74
|
end
|
100
75
|
end
|
101
|
-
end
|
76
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beanstalk-worker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
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: 2013-
|
12
|
+
date: 2013-08-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beanstalk-client
|
@@ -27,6 +27,70 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: mixlib-log
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.6.0
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.6.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: mixlib-config
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 1.1.2
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.1.2
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: mixlib-log-json
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.0.1
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.0.1
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: yajl-ruby
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.1.0
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.1.0
|
30
94
|
- !ruby/object:Gem::Dependency
|
31
95
|
name: rspec
|
32
96
|
requirement: !ruby/object:Gem::Requirement
|
@@ -173,7 +237,9 @@ files:
|
|
173
237
|
- features/step_definitions/beanstalk-worker_steps.rb
|
174
238
|
- features/support/env.rb
|
175
239
|
- lib/beanstalk-worker.rb
|
176
|
-
- lib/beanstalk-worker/
|
240
|
+
- lib/beanstalk-worker/config.rb
|
241
|
+
- lib/beanstalk-worker/logger.rb
|
242
|
+
- lib/beanstalk-worker/version_class.rb
|
177
243
|
- lib/beanstalk-worker/worker.rb
|
178
244
|
- spec/beanstalk-worker_spec.rb
|
179
245
|
- spec/spec_helper.rb
|
@@ -192,7 +258,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
192
258
|
version: '0'
|
193
259
|
segments:
|
194
260
|
- 0
|
195
|
-
hash: -
|
261
|
+
hash: -3743712853818560544
|
196
262
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
263
|
none: false
|
198
264
|
requirements:
|