beanstalker 0.5.3 → 0.5.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/VERSION +1 -1
- data/beanstalker.gemspec +2 -2
- data/lib/beanstalker/worker.rb +6 -8
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.4
|
data/beanstalker.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{beanstalker}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Gleb Pomykalov"]
|
12
|
-
s.date = %q{2011-03-
|
12
|
+
s.date = %q{2011-03-05}
|
13
13
|
s.description = %q{Beanstalker is a tool for executing long tasks in background in our rails application.}
|
14
14
|
s.email = %q{glebpom@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/beanstalker/worker.rb
CHANGED
@@ -156,9 +156,6 @@ class Beanstalker::Worker
|
|
156
156
|
logger.error "Job #{job.inspect} cannot be processed... deleteing"
|
157
157
|
job.delete
|
158
158
|
end
|
159
|
-
rescue Exception => e
|
160
|
-
logger.error "Exception: #{e.inspect}... Bury job"
|
161
|
-
job.bury
|
162
159
|
end
|
163
160
|
|
164
161
|
def safe_dispatch(job)
|
@@ -192,11 +189,12 @@ class Beanstalker::Worker
|
|
192
189
|
Daemonizer.logger.warn "Handling exception: #{ex.backtrace.join('\n')}, job = #{job.id}"
|
193
190
|
|
194
191
|
if rails_job?(job)
|
195
|
-
|
196
|
-
|
192
|
+
class_name = get_job_body(job)[:data][:class]
|
193
|
+
if class_name
|
194
|
+
klass = Object.const_get(class_name)
|
197
195
|
error_handler = class_error_handler(klass)
|
198
196
|
if error_handler.is_a?(Proc)
|
199
|
-
Daemonizer.logger.info "Running custom error handler for class #{
|
197
|
+
Daemonizer.logger.info "Running custom error handler for class #{class_name}, job = #{job.id}"
|
200
198
|
error_handler.call(job, ex)
|
201
199
|
job_reserved = begin
|
202
200
|
job.stats['state'] == 'reserved'
|
@@ -204,9 +202,9 @@ class Beanstalker::Worker
|
|
204
202
|
false
|
205
203
|
end
|
206
204
|
if job_reserved
|
207
|
-
Daemonizer.logger.info "Custom error handler for class #{
|
205
|
+
Daemonizer.logger.info "Custom error handler for class #{class_name} didn't release job. job = #{job.id}"
|
208
206
|
else
|
209
|
-
Daemonizer.logger.info "Custom error handler for class #{
|
207
|
+
Daemonizer.logger.info "Custom error handler for class #{class_name} released job. job = #{job.id}"
|
210
208
|
custom_error_handler_ok = true
|
211
209
|
end
|
212
210
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beanstalker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 4
|
10
|
+
version: 0.5.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gleb Pomykalov
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-03-
|
18
|
+
date: 2011-03-05 00:00:00 +03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|