rabbit_jobs 0.5.8 → 0.5.9
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/lib/rabbit_jobs/version.rb +1 -1
- data/lib/rabbit_jobs/worker.rb +12 -7
- data/lib/rabbit_jobs.rb +16 -1
- metadata +30 -46
- checksums.yaml +0 -7
data/lib/rabbit_jobs/version.rb
CHANGED
data/lib/rabbit_jobs/worker.rb
CHANGED
@@ -101,15 +101,20 @@ module RabbitJobs
|
|
101
101
|
|
102
102
|
RJ.logger.info "Subscribing to #{queue_name(routing_key)}"
|
103
103
|
queue.subscribe(ack: explicit_ack) do |metadata, payload|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
104
|
+
if RJ.run_before_process_message_callbacks
|
105
|
+
begin
|
106
|
+
processed_count += 1 if process_message(metadata, payload)
|
107
|
+
rescue
|
108
|
+
RJ.logger.warn "process_message failed. payload: #{payload.inspect}"
|
109
|
+
RJ.logger.warn $!.inspect
|
110
|
+
$!.backtrace.each {|l| RJ.logger.warn l}
|
111
|
+
end
|
112
|
+
metadata.ack if explicit_ack
|
113
|
+
else
|
114
|
+
RJ.logger.warn "before_process_message hook failed, requeuing payload: #{payload.inspect}"
|
115
|
+
metadata.reject(requeue: true) if explicit_ack
|
110
116
|
end
|
111
117
|
|
112
|
-
metadata.ack if explicit_ack
|
113
118
|
check_shutdown.call
|
114
119
|
end
|
115
120
|
}
|
data/lib/rabbit_jobs.rb
CHANGED
@@ -134,6 +134,21 @@ module RabbitJobs
|
|
134
134
|
callback.call
|
135
135
|
}
|
136
136
|
end
|
137
|
+
|
138
|
+
def before_process_message(&block)
|
139
|
+
raise unless block_given?
|
140
|
+
@before_process_message_callbacks ||= []
|
141
|
+
@before_process_message_callbacks << block
|
142
|
+
end
|
143
|
+
|
144
|
+
def run_before_process_message_callbacks
|
145
|
+
@before_process_message_callbacks ||= []
|
146
|
+
@before_process_message_callbacks.each { |callback|
|
147
|
+
return false unless callback.call
|
148
|
+
}
|
149
|
+
return true
|
150
|
+
end
|
151
|
+
|
137
152
|
end
|
138
153
|
|
139
|
-
RJ = RabbitJobs
|
154
|
+
RJ = RabbitJobs
|
metadata
CHANGED
@@ -1,71 +1,60 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabbit_jobs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.9
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Pavel Lazureykis
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-06 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: amqp
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &21322560 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0.9'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
|
-
version_requirements:
|
23
|
-
requirements:
|
24
|
-
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0.9'
|
24
|
+
version_requirements: *21322560
|
27
25
|
- !ruby/object:Gem::Dependency
|
28
26
|
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &21321760 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
30
29
|
requirements:
|
31
|
-
- - '>='
|
30
|
+
- - ! '>='
|
32
31
|
- !ruby/object:Gem::Version
|
33
32
|
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements:
|
37
|
-
requirements:
|
38
|
-
- - '>='
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
35
|
+
version_requirements: *21321760
|
41
36
|
- !ruby/object:Gem::Dependency
|
42
37
|
name: rufus-scheduler
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &21344180 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
44
40
|
requirements:
|
45
41
|
- - ~>
|
46
42
|
- !ruby/object:Gem::Version
|
47
43
|
version: '2.0'
|
48
44
|
type: :runtime
|
49
45
|
prerelease: false
|
50
|
-
version_requirements:
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '2.0'
|
46
|
+
version_requirements: *21344180
|
55
47
|
- !ruby/object:Gem::Dependency
|
56
48
|
name: rails
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &21342820 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
58
51
|
requirements:
|
59
|
-
- - '>='
|
52
|
+
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '3.0'
|
62
55
|
type: :runtime
|
63
56
|
prerelease: false
|
64
|
-
version_requirements:
|
65
|
-
requirements:
|
66
|
-
- - '>='
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '3.0'
|
57
|
+
version_requirements: *21342820
|
69
58
|
description: Background jobs on RabbitMQ
|
70
59
|
email:
|
71
60
|
- lazureykis@gmail.com
|
@@ -114,37 +103,32 @@ files:
|
|
114
103
|
- spec/unit/worker_spec.rb
|
115
104
|
homepage: ''
|
116
105
|
licenses: []
|
117
|
-
metadata: {}
|
118
106
|
post_install_message:
|
119
107
|
rdoc_options: []
|
120
108
|
require_paths:
|
121
109
|
- lib
|
122
110
|
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
123
112
|
requirements:
|
124
|
-
- - '>='
|
113
|
+
- - ! '>='
|
125
114
|
- !ruby/object:Gem::Version
|
126
115
|
version: '0'
|
116
|
+
segments:
|
117
|
+
- 0
|
118
|
+
hash: -3368029020513030695
|
127
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
128
121
|
requirements:
|
129
|
-
- - '>='
|
122
|
+
- - ! '>='
|
130
123
|
- !ruby/object:Gem::Version
|
131
124
|
version: '0'
|
125
|
+
segments:
|
126
|
+
- 0
|
127
|
+
hash: -3368029020513030695
|
132
128
|
requirements: []
|
133
129
|
rubyforge_project:
|
134
|
-
rubygems_version:
|
130
|
+
rubygems_version: 1.8.11
|
135
131
|
signing_key:
|
136
|
-
specification_version:
|
132
|
+
specification_version: 3
|
137
133
|
summary: Background jobs on RabbitMQ
|
138
|
-
test_files:
|
139
|
-
- spec/fixtures/config.yml
|
140
|
-
- spec/fixtures/jobs.rb
|
141
|
-
- spec/fixtures/schedule.yml
|
142
|
-
- spec/integration/publisher_spec.rb
|
143
|
-
- spec/integration/scheduler_spec.rb
|
144
|
-
- spec/integration/worker_spec.rb
|
145
|
-
- spec/spec_helper.rb
|
146
|
-
- spec/unit/configuration_spec.rb
|
147
|
-
- spec/unit/job_spec.rb
|
148
|
-
- spec/unit/mailer_spec.rb
|
149
|
-
- spec/unit/rabbit_jobs_spec.rb
|
150
|
-
- spec/unit/worker_spec.rb
|
134
|
+
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 439e03e7637f31181be227c61ab20642475358ec
|
4
|
-
data.tar.gz: 50ec4db3e760511ea91fb77bd9000c303a6dbec3
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 1ee2c38bb0dc8a53c05c629a9e71a29d81aab930aa4495c3d7c4747444813e6e42efa0a2d22e12629f4f79b38bfcb2fcf3142c070033b991786e9119fe43afac
|
7
|
-
data.tar.gz: 2c208cb4c17727b2f3662528a8f6364b5d3852e0d51f0c0a52e384081363ecd63bcfe53dd4b6c379571567e97c9fa981e63f9922d8383266fe888f7ac82e6c97
|