beanstalker 0.4.10 → 0.4.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 +3 -0
- data/lib/beanstalker/worker.rb +10 -5
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.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.4.
|
8
|
+
s.version = "0.4.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{2010-08-
|
12
|
+
s.date = %q{2010-08-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 = [
|
@@ -17,6 +17,9 @@ 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)
|
21
|
+
Worker.before_filter = option(:before_filter)
|
22
|
+
end
|
20
23
|
@worker = Worker.new(binding,
|
21
24
|
:tube => option(:tube),
|
22
25
|
:servers => option(:servers),
|
data/lib/beanstalker/worker.rb
CHANGED
@@ -195,13 +195,18 @@ class Beanstalker::Worker
|
|
195
195
|
|
196
196
|
def run_ao_job(job)
|
197
197
|
runner = lambda {
|
198
|
-
|
199
|
-
|
200
|
-
|
198
|
+
t1 = Time.now
|
199
|
+
f = self.class.before_filter
|
200
|
+
statistics = job.stats.dup
|
201
|
+
code = job[:code]
|
202
|
+
can_run = f ? f.call(job) : true
|
203
|
+
if can_run
|
201
204
|
run_code(job)
|
205
|
+
job.delete
|
206
|
+
logger.info "Finished. Job id=#{statistics['id']}. Code '#{code}'. Time taken: #{(Time.now - t1).to_f} sec"
|
207
|
+
else
|
208
|
+
logger.info "Not runnind due to :before_filter restriction. Job id=#{statistics['id']}. Code '#{code}'."
|
202
209
|
end
|
203
|
-
logger.info "Finished. Job id=#{job.stats['id']}. Code '#{job[:code]}'. Time taken: #{time_taken} sec"
|
204
|
-
job.delete
|
205
210
|
}
|
206
211
|
if @options[:ruby_timeout]
|
207
212
|
timeout = (job.stats['ttr'].to_f * 0.8)
|
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: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 11
|
10
|
+
version: 0.4.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: 2010-08-
|
18
|
+
date: 2010-08-05 00:00:00 +04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|