beanstalker 0.5.10 → 0.5.11
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/daemonizer_handler.rb +8 -5
- data/lib/beanstalker/worker.rb +5 -0
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.11
|
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.11"
|
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-04-
|
12
|
+
s.date = %q{2011-04-06}
|
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 = [
|
@@ -7,7 +7,7 @@ module Beanstalker
|
|
7
7
|
logger.info "Rails loaded"
|
8
8
|
super
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def start
|
12
12
|
$logger = logger
|
13
13
|
$logger.info "Starting cycle"
|
@@ -17,13 +17,16 @@ module Beanstalker
|
|
17
17
|
if option(:timeout_handler)
|
18
18
|
Worker.custom_timeout_handler = option(:timeout_handler)
|
19
19
|
end
|
20
|
-
if option(:before_filter)
|
20
|
+
if option(:before_filter)
|
21
21
|
Worker.before_filter = option(:before_filter)
|
22
22
|
end
|
23
|
-
|
24
|
-
|
23
|
+
if option(:on_job_event)
|
24
|
+
Worker.on_job_event = option(:on_job_event)
|
25
|
+
end
|
26
|
+
@worker = Worker.new(binding,
|
27
|
+
:tube => option(:tube),
|
25
28
|
:servers => option(:servers),
|
26
|
-
:worker_id => worker_id,
|
29
|
+
:worker_id => worker_id,
|
27
30
|
:workers_count => workers_count,
|
28
31
|
:ruby_timeout => option(:ruby_timeout).nil? ? true : option(:ruby_timeout))
|
29
32
|
@worker.run
|
data/lib/beanstalker/worker.rb
CHANGED
@@ -29,6 +29,7 @@ class Beanstalker::Worker
|
|
29
29
|
attr_accessor :custom_error_handler
|
30
30
|
attr_accessor :custom_timeout_handler
|
31
31
|
attr_accessor :before_filter
|
32
|
+
attr_accessor :on_job_event
|
32
33
|
|
33
34
|
def error_handler(&block)
|
34
35
|
self.custom_error_handler = block
|
@@ -147,7 +148,10 @@ class Beanstalker::Worker
|
|
147
148
|
|
148
149
|
def dispatch(job)
|
149
150
|
ActiveRecord::Base.verify_active_connections!
|
151
|
+
|
150
152
|
logger.info "Got job: #{get_job_body(job).inspect}"
|
153
|
+
self.class.on_job_event.call(job, :dispatch) if self.class.on_job_event
|
154
|
+
|
151
155
|
if rails_job?(job)
|
152
156
|
run_ao_job(job)
|
153
157
|
elsif mapped_job?(job)
|
@@ -187,6 +191,7 @@ class Beanstalker::Worker
|
|
187
191
|
def handle_error(job, ex)
|
188
192
|
custom_error_handler_ok = false
|
189
193
|
Daemonizer.logger.warn "Handling exception: #{ex.backtrace.join("\n")}, job = #{job.id}"
|
194
|
+
self.class.on_job_event.call(job, :error) if self.class.on_job_event
|
190
195
|
|
191
196
|
if rails_job?(job)
|
192
197
|
class_name = get_job_body(job)[:data][:class]
|
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: 29
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 11
|
10
|
+
version: 0.5.11
|
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-04-
|
18
|
+
date: 2011-04-06 00:00:00 +04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|