rabbit_jobs 0.7.3 → 0.7.4
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/examples/bunny +27 -0
- data/examples/bunny_server +23 -0
- data/examples/client +7 -1
- data/lib/rabbit_jobs/amqp_helper.rb +1 -1
- data/lib/rabbit_jobs/configuration.rb +0 -20
- data/lib/rabbit_jobs/helpers.rb +9 -0
- data/lib/rabbit_jobs/job.rb +2 -2
- data/lib/rabbit_jobs/publisher.rb +10 -9
- data/lib/rabbit_jobs/version.rb +1 -1
- data/lib/rabbit_jobs.rb +4 -6
- data/spec/fixtures/config.yml +1 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/configuration_spec.rb +18 -21
- data/spec/unit/mailer_spec.rb +0 -1
- data/spec/unit/rabbit_jobs_spec.rb +5 -4
- metadata +48 -15
- data/lib/rabbit_jobs/util.rb +0 -18
data/examples/bunny
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# -*- encoding : utf-8 -*-
|
|
3
|
+
|
|
4
|
+
require 'bunny'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
b = Bunny.new "amqp://localhost/bunny", heartbeat: 2
|
|
8
|
+
b.start
|
|
9
|
+
channel = b.create_channel
|
|
10
|
+
# channel.confirm_select
|
|
11
|
+
exchange = channel.default_exchange
|
|
12
|
+
|
|
13
|
+
i = 0
|
|
14
|
+
loop do
|
|
15
|
+
puts "publishing hello #{i}"
|
|
16
|
+
begin
|
|
17
|
+
exchange.publish("hello #{i}", routing_key: "hello")
|
|
18
|
+
# channel.wait_for_confirms
|
|
19
|
+
rescue Exception => e
|
|
20
|
+
puts e.message
|
|
21
|
+
puts e.backtrace.join("\r\n")
|
|
22
|
+
end
|
|
23
|
+
i += 1
|
|
24
|
+
sleep 1
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
b.stop
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# -*- encoding : utf-8 -*-
|
|
3
|
+
|
|
4
|
+
require 'bunny'
|
|
5
|
+
|
|
6
|
+
# RJ.configure { |c|
|
|
7
|
+
# c.queue "failover_test"
|
|
8
|
+
# c.server "amqp://localhost/bunny"
|
|
9
|
+
# }
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
b = Bunny.new "amqp://localhost/bunny"
|
|
13
|
+
b.start
|
|
14
|
+
channel = b.create_channel
|
|
15
|
+
queue = channel.queue("hello", durable: true)
|
|
16
|
+
|
|
17
|
+
queue.subscribe do |delivery_info, properties, payload|
|
|
18
|
+
puts "got #{payload}"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
loop do
|
|
22
|
+
sleep 1
|
|
23
|
+
end
|
data/examples/client
CHANGED
|
@@ -19,7 +19,13 @@ RJ.configure { |c|
|
|
|
19
19
|
i = 0
|
|
20
20
|
loop do
|
|
21
21
|
puts "publishing job #{i}"
|
|
22
|
-
|
|
22
|
+
begin
|
|
23
|
+
RJ.publish_to(:failover_test, MyCurrentJob, i)
|
|
24
|
+
rescue Exception => e
|
|
25
|
+
RJ::Publisher.amqp_connection.stop
|
|
26
|
+
puts e.message
|
|
27
|
+
puts e.backtrace.join("\r\n")
|
|
28
|
+
end
|
|
23
29
|
i += 1
|
|
24
30
|
sleep 1
|
|
25
31
|
end
|
|
@@ -63,7 +63,6 @@ module RabbitJobs
|
|
|
63
63
|
def initialize
|
|
64
64
|
@data = {
|
|
65
65
|
error_log: true,
|
|
66
|
-
workers: {},
|
|
67
66
|
server: 'amqp://localhost/',
|
|
68
67
|
prefix: 'rabbit_jobs',
|
|
69
68
|
queues: {}
|
|
@@ -125,25 +124,6 @@ module RabbitJobs
|
|
|
125
124
|
end
|
|
126
125
|
end
|
|
127
126
|
|
|
128
|
-
def workers
|
|
129
|
-
@data[:workers] ||= {}
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def worker(name, params = {})
|
|
133
|
-
raise ArgumentError.new("name is #{name.inspect}") unless name && name.is_a?(String) && name != ""
|
|
134
|
-
raise ArgumentError.new("params is #{params.inspect}") unless params && params.is_a?(Hash)
|
|
135
|
-
raise ArgumentError.new("params should have :instances and :queues keys.") unless params[:instances] && params[:queues]
|
|
136
|
-
|
|
137
|
-
name = name.downcase.to_sym
|
|
138
|
-
|
|
139
|
-
@data[:workers] ||= {}
|
|
140
|
-
if @data[:workers][name]
|
|
141
|
-
@data[:workers][name].merge!(params)
|
|
142
|
-
else
|
|
143
|
-
@data[:workers][name] = params
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
127
|
def routing_keys
|
|
148
128
|
@data[:queues].keys
|
|
149
129
|
end
|
data/lib/rabbit_jobs/helpers.rb
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module RabbitJobs
|
|
4
4
|
module Helpers
|
|
5
|
+
def _cleanup_backtrace(trace_lines)
|
|
6
|
+
if defined?(Rails) && Rails.respond_to?(:root)
|
|
7
|
+
rails_root_path = Rails.root.to_s
|
|
8
|
+
trace_lines.dup.keep_if { |l| l[rails_root_path] }
|
|
9
|
+
else
|
|
10
|
+
trace_lines
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
5
14
|
def symbolize_keys!(hash)
|
|
6
15
|
hash.inject({}) do |options, (key, value)|
|
|
7
16
|
options[(key.to_sym rescue key) || key] = value
|
data/lib/rabbit_jobs/job.rb
CHANGED
|
@@ -26,7 +26,7 @@ module RabbitJobs::Job
|
|
|
26
26
|
rescue
|
|
27
27
|
RJ.logger.warn $!.message
|
|
28
28
|
RJ.logger.warn(self.to_ruby_string)
|
|
29
|
-
RJ.logger.warn
|
|
29
|
+
RJ.logger.warn _cleanup_backtrace($!.backtrace).join("\n")
|
|
30
30
|
run_on_error_hooks($!)
|
|
31
31
|
RabbitJobs::ErrorMailer.report_error(self, $!)
|
|
32
32
|
end
|
|
@@ -122,7 +122,7 @@ module RabbitJobs::Job
|
|
|
122
122
|
rescue
|
|
123
123
|
RJ.logger.warn "Cannot initialize job."
|
|
124
124
|
RJ.logger.warn $!.message
|
|
125
|
-
RJ.logger.warn
|
|
125
|
+
RJ.logger.warn _cleanup_backtrace($!.backtrace).join("\n")
|
|
126
126
|
RJ.logger.warn "Data received: #{payload.inspect}"
|
|
127
127
|
:error
|
|
128
128
|
end
|
|
@@ -14,13 +14,17 @@ module RabbitJobs
|
|
|
14
14
|
Thread.current[:rj_publisher_connection] ||= AmqpHelper.prepare_connection
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
def amqp_channel
|
|
18
|
+
Thread.current[:rj_publisher_channel] ||= amqp_connection.create_channel
|
|
19
|
+
end
|
|
20
|
+
|
|
17
21
|
def cleanup
|
|
18
22
|
conn = Thread.current[:rj_publisher_connection]
|
|
19
23
|
conn.close if conn && conn.status != :not_connected
|
|
20
24
|
Thread.current[:rj_publisher_connection] = nil
|
|
21
25
|
end
|
|
22
26
|
|
|
23
|
-
def publish_to(routing_key, klass, *params
|
|
27
|
+
def publish_to(routing_key, klass, *params)
|
|
24
28
|
raise ArgumentError.new("klass=#{klass.inspect}") unless klass && (klass.is_a?(Class) || klass.is_a?(String))
|
|
25
29
|
raise ArgumentError.new("routing_key=#{routing_key}") unless routing_key && (routing_key.is_a?(Symbol) || routing_key.is_a?(String)) && !!RJ.config[:queues][routing_key.to_sym]
|
|
26
30
|
|
|
@@ -30,19 +34,19 @@ module RabbitJobs
|
|
|
30
34
|
'params' => params
|
|
31
35
|
}.to_json
|
|
32
36
|
|
|
33
|
-
direct_publish_to(RJ.config.queue_name(routing_key.to_sym), payload
|
|
37
|
+
direct_publish_to(RJ.config.queue_name(routing_key.to_sym), payload)
|
|
34
38
|
end
|
|
35
39
|
|
|
36
|
-
def direct_publish_to(routing_key, payload, ex = {}
|
|
40
|
+
def direct_publish_to(routing_key, payload, ex = {})
|
|
37
41
|
ex = {name: ex} if ex.is_a?(String)
|
|
38
42
|
raise ArgumentError.new("Need to pass exchange name") if ex.size > 0 && ex[:name].to_s.empty?
|
|
39
43
|
|
|
40
44
|
begin
|
|
41
45
|
exchange = if ex.size > 0
|
|
42
46
|
exchange_opts = Configuration::DEFAULT_EXCHANGE_PARAMS.merge(ex[:params] || {}).merge({type: (ex[:type] || :direct)})
|
|
43
|
-
|
|
47
|
+
amqp_channel.exchange(ex[:name].to_s, exchange_opts)
|
|
44
48
|
else
|
|
45
|
-
|
|
49
|
+
amqp_channel.default_exchange
|
|
46
50
|
end
|
|
47
51
|
|
|
48
52
|
exchange.publish(payload, Configuration::DEFAULT_MESSAGE_PARAMS.merge({key: routing_key.to_sym}))
|
|
@@ -52,11 +56,10 @@ module RabbitJobs
|
|
|
52
56
|
raise $!
|
|
53
57
|
end
|
|
54
58
|
|
|
55
|
-
yield if block_given?
|
|
56
59
|
true
|
|
57
60
|
end
|
|
58
61
|
|
|
59
|
-
def purge_queue(*routing_keys
|
|
62
|
+
def purge_queue(*routing_keys)
|
|
60
63
|
raise ArgumentError unless routing_keys && routing_keys.count > 0
|
|
61
64
|
|
|
62
65
|
messages_count = 0
|
|
@@ -69,8 +72,6 @@ module RabbitJobs
|
|
|
69
72
|
queue.delete
|
|
70
73
|
end
|
|
71
74
|
|
|
72
|
-
yield(messages_count) if block_given?
|
|
73
|
-
|
|
74
75
|
messages_count
|
|
75
76
|
end
|
|
76
77
|
end
|
data/lib/rabbit_jobs/version.rb
CHANGED
data/lib/rabbit_jobs.rb
CHANGED
|
@@ -4,7 +4,6 @@ require 'rake'
|
|
|
4
4
|
|
|
5
5
|
require 'rabbit_jobs/version'
|
|
6
6
|
|
|
7
|
-
require 'rabbit_jobs/util'
|
|
8
7
|
require 'rabbit_jobs/helpers'
|
|
9
8
|
require 'rabbit_jobs/amqp_helper'
|
|
10
9
|
require 'rabbit_jobs/configuration'
|
|
@@ -24,13 +23,12 @@ module RabbitJobs
|
|
|
24
23
|
RJ::Publisher.publish_to(routing_key, klass, *params)
|
|
25
24
|
end
|
|
26
25
|
|
|
27
|
-
def direct_publish_to(routing_key, payload, ex = {}
|
|
28
|
-
RJ::Publisher.direct_publish_to(routing_key, payload, ex
|
|
29
|
-
yield if block_given?
|
|
26
|
+
def direct_publish_to(routing_key, payload, ex = {})
|
|
27
|
+
RJ::Publisher.direct_publish_to(routing_key, payload, ex)
|
|
30
28
|
end
|
|
31
29
|
|
|
32
|
-
def purge_queue(*routing_keys
|
|
33
|
-
RJ::Publisher.purge_queue(*routing_keys
|
|
30
|
+
def purge_queue(*routing_keys)
|
|
31
|
+
RJ::Publisher.purge_queue(*routing_keys)
|
|
34
32
|
end
|
|
35
33
|
|
|
36
34
|
attr_writer :logger
|
data/spec/fixtures/config.yml
CHANGED
data/spec/spec_helper.rb
CHANGED
|
@@ -6,7 +6,7 @@ describe RabbitJobs::Configuration do
|
|
|
6
6
|
RabbitJobs.configure do |c|
|
|
7
7
|
c.disable_error_log
|
|
8
8
|
|
|
9
|
-
c.
|
|
9
|
+
c.server "amqp://somehost.lan"
|
|
10
10
|
|
|
11
11
|
c.prefix 'my_prefix'
|
|
12
12
|
|
|
@@ -16,20 +16,22 @@ describe RabbitJobs::Configuration do
|
|
|
16
16
|
|
|
17
17
|
RabbitJobs.config.to_hash.should == {
|
|
18
18
|
error_log: false,
|
|
19
|
-
|
|
19
|
+
server: "amqp://somehost.lan",
|
|
20
20
|
prefix: "my_prefix",
|
|
21
21
|
queues: {
|
|
22
|
-
|
|
23
|
-
durable: true,
|
|
22
|
+
durable_queue: {
|
|
24
23
|
auto_delete: false,
|
|
24
|
+
exclusive: false,
|
|
25
|
+
durable: true,
|
|
25
26
|
ack: true,
|
|
26
27
|
arguments: {"x-ha-policy"=>"all"}
|
|
27
28
|
},
|
|
28
|
-
|
|
29
|
-
durable: false,
|
|
29
|
+
fast_queue: {
|
|
30
30
|
auto_delete: true,
|
|
31
|
+
exclusive: false,
|
|
32
|
+
durable: false,
|
|
31
33
|
ack: false
|
|
32
|
-
}
|
|
34
|
+
}
|
|
33
35
|
}
|
|
34
36
|
}
|
|
35
37
|
end
|
|
@@ -38,17 +40,19 @@ describe RabbitJobs::Configuration do
|
|
|
38
40
|
RabbitJobs.config.load_file(File.expand_path('../../fixtures/config.yml', __FILE__))
|
|
39
41
|
|
|
40
42
|
RabbitJobs.config.to_hash.should == {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
prefix: "rabbit_jobs",
|
|
44
|
+
server: "amqp://example.com/vhost",
|
|
43
45
|
queues: {
|
|
44
|
-
|
|
46
|
+
durable_queue: {
|
|
45
47
|
durable: true,
|
|
48
|
+
exclusive: false,
|
|
46
49
|
auto_delete: false,
|
|
47
50
|
ack: true,
|
|
48
51
|
arguments: {"x-ha-policy"=>"all"}
|
|
49
52
|
},
|
|
50
|
-
|
|
53
|
+
fast_queue: {
|
|
51
54
|
durable: false,
|
|
55
|
+
exclusive: false,
|
|
52
56
|
auto_delete: true,
|
|
53
57
|
ack: false
|
|
54
58
|
}
|
|
@@ -56,18 +60,12 @@ describe RabbitJobs::Configuration do
|
|
|
56
60
|
}
|
|
57
61
|
end
|
|
58
62
|
|
|
59
|
-
it 'use default
|
|
63
|
+
it 'use default values for #server and #prefix' do
|
|
60
64
|
RabbitJobs.config.to_hash.should == {
|
|
61
65
|
error_log: true,
|
|
62
|
-
|
|
66
|
+
server: "amqp://localhost/",
|
|
63
67
|
prefix: "rabbit_jobs",
|
|
64
|
-
queues: {
|
|
65
|
-
"default" => {
|
|
66
|
-
auto_delete: false,
|
|
67
|
-
ack: true,
|
|
68
|
-
durable: true
|
|
69
|
-
}
|
|
70
|
-
}
|
|
68
|
+
queues: {}
|
|
71
69
|
}
|
|
72
70
|
end
|
|
73
71
|
|
|
@@ -76,6 +74,5 @@ describe RabbitJobs::Configuration do
|
|
|
76
74
|
RabbitJobs.config.server.should == 'amqp://localhost/'
|
|
77
75
|
RabbitJobs.config.routing_keys.should == []
|
|
78
76
|
RabbitJobs.config.prefix.should == 'rabbit_jobs'
|
|
79
|
-
RabbitJobs.config.queue_name('default').should == 'rabbit_jobs#default'
|
|
80
77
|
end
|
|
81
78
|
end
|
data/spec/unit/mailer_spec.rb
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
|
2
|
+
require 'spec_helper'
|
|
2
3
|
|
|
3
4
|
describe RabbitJobs do
|
|
4
5
|
it 'should pass publish methods to publisher' do
|
|
5
|
-
mock(
|
|
6
|
-
|
|
6
|
+
mock(RJ::Publisher).publish_to('default_queue', TestJob, nil, 1, 2, "string")
|
|
7
|
+
RJ.publish_to('default_queue', TestJob, nil, 1, 2, "string")
|
|
7
8
|
|
|
8
|
-
mock(
|
|
9
|
-
|
|
9
|
+
mock(RJ::Publisher).direct_publish_to('default_queue', 'hello', {name: "my_exchange"})
|
|
10
|
+
RJ.direct_publish_to('default_queue', 'hello', {name: "my_exchange"})
|
|
10
11
|
end
|
|
11
12
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rabbit_jobs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.4
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -13,18 +13,23 @@ date: 2013-03-21 00:00:00.000000000 Z
|
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bunny
|
|
16
|
-
requirement:
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
|
-
- - =
|
|
19
|
+
- - '='
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
21
|
version: 0.9.0.pre8
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements:
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - '='
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: 0.9.0.pre8
|
|
25
30
|
- !ruby/object:Gem::Dependency
|
|
26
31
|
name: rake
|
|
27
|
-
requirement:
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
28
33
|
none: false
|
|
29
34
|
requirements:
|
|
30
35
|
- - ! '>='
|
|
@@ -32,10 +37,15 @@ dependencies:
|
|
|
32
37
|
version: '0'
|
|
33
38
|
type: :runtime
|
|
34
39
|
prerelease: false
|
|
35
|
-
version_requirements:
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ! '>='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0'
|
|
36
46
|
- !ruby/object:Gem::Dependency
|
|
37
47
|
name: rufus-scheduler
|
|
38
|
-
requirement:
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
39
49
|
none: false
|
|
40
50
|
requirements:
|
|
41
51
|
- - ~>
|
|
@@ -43,10 +53,15 @@ dependencies:
|
|
|
43
53
|
version: '2.0'
|
|
44
54
|
type: :runtime
|
|
45
55
|
prerelease: false
|
|
46
|
-
version_requirements:
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
none: false
|
|
58
|
+
requirements:
|
|
59
|
+
- - ~>
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '2.0'
|
|
47
62
|
- !ruby/object:Gem::Dependency
|
|
48
63
|
name: rails
|
|
49
|
-
requirement:
|
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
65
|
none: false
|
|
51
66
|
requirements:
|
|
52
67
|
- - ! '>='
|
|
@@ -54,7 +69,12 @@ dependencies:
|
|
|
54
69
|
version: '3.0'
|
|
55
70
|
type: :runtime
|
|
56
71
|
prerelease: false
|
|
57
|
-
version_requirements:
|
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
+
none: false
|
|
74
|
+
requirements:
|
|
75
|
+
- - ! '>='
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '3.0'
|
|
58
78
|
description: Background jobs on RabbitMQ
|
|
59
79
|
email:
|
|
60
80
|
- lazureykis@gmail.com
|
|
@@ -68,6 +88,8 @@ files:
|
|
|
68
88
|
- LICENSE
|
|
69
89
|
- README.md
|
|
70
90
|
- Rakefile
|
|
91
|
+
- examples/bunny
|
|
92
|
+
- examples/bunny_server
|
|
71
93
|
- examples/client
|
|
72
94
|
- examples/configuration.rb
|
|
73
95
|
- examples/worker
|
|
@@ -81,7 +103,6 @@ files:
|
|
|
81
103
|
- lib/rabbit_jobs/publisher.rb
|
|
82
104
|
- lib/rabbit_jobs/scheduler.rb
|
|
83
105
|
- lib/rabbit_jobs/tasks.rb
|
|
84
|
-
- lib/rabbit_jobs/util.rb
|
|
85
106
|
- lib/rabbit_jobs/version.rb
|
|
86
107
|
- lib/rabbit_jobs/worker.rb
|
|
87
108
|
- lib/tasks/rabbit_jobs.rake
|
|
@@ -112,7 +133,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
112
133
|
version: '0'
|
|
113
134
|
segments:
|
|
114
135
|
- 0
|
|
115
|
-
hash:
|
|
136
|
+
hash: -1591772843040716923
|
|
116
137
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
138
|
none: false
|
|
118
139
|
requirements:
|
|
@@ -121,11 +142,23 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
121
142
|
version: '0'
|
|
122
143
|
segments:
|
|
123
144
|
- 0
|
|
124
|
-
hash:
|
|
145
|
+
hash: -1591772843040716923
|
|
125
146
|
requirements: []
|
|
126
147
|
rubyforge_project:
|
|
127
|
-
rubygems_version: 1.8.
|
|
148
|
+
rubygems_version: 1.8.25
|
|
128
149
|
signing_key:
|
|
129
150
|
specification_version: 3
|
|
130
151
|
summary: Background jobs on RabbitMQ
|
|
131
|
-
test_files:
|
|
152
|
+
test_files:
|
|
153
|
+
- spec/fixtures/config.yml
|
|
154
|
+
- spec/fixtures/jobs.rb
|
|
155
|
+
- spec/fixtures/schedule.yml
|
|
156
|
+
- spec/integration/publisher_spec.rb
|
|
157
|
+
- spec/integration/scheduler_spec.rb
|
|
158
|
+
- spec/integration/worker_spec.rb
|
|
159
|
+
- spec/spec_helper.rb
|
|
160
|
+
- spec/unit/configuration_spec.rb
|
|
161
|
+
- spec/unit/job_spec.rb
|
|
162
|
+
- spec/unit/mailer_spec.rb
|
|
163
|
+
- spec/unit/rabbit_jobs_spec.rb
|
|
164
|
+
- spec/unit/worker_spec.rb
|
data/lib/rabbit_jobs/util.rb
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
|
2
|
-
|
|
3
|
-
module RabbitJobs
|
|
4
|
-
class Util
|
|
5
|
-
class << self
|
|
6
|
-
|
|
7
|
-
def cleanup_backtrace(trace_lines)
|
|
8
|
-
if defined?(Rails) && Rails.respond_to?(:root)
|
|
9
|
-
rails_root_path = Rails.root.to_s
|
|
10
|
-
trace_lines.dup.keep_if { |l| l[rails_root_path] }
|
|
11
|
-
else
|
|
12
|
-
trace_lines
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|