em-jack 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -0
- data/lib/em-jack/connection.rb +22 -1
- metadata +3 -3
data/README.rdoc
CHANGED
data/lib/em-jack/connection.rb
CHANGED
@@ -43,6 +43,25 @@ module EMJack
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
+
def fiber!
|
47
|
+
eigen = (class << self
|
48
|
+
self
|
49
|
+
end)
|
50
|
+
eigen.instance_eval do
|
51
|
+
%w(use reserve ignore watch peek stats list delete touch bury kick pause release put).each do |meth|
|
52
|
+
alias_method :"a#{meth}", meth.to_sym
|
53
|
+
define_method(meth.to_sym) do |*args|
|
54
|
+
fib = Fiber.current
|
55
|
+
ameth = :"a#{meth}"
|
56
|
+
p [ameth, *args]
|
57
|
+
proc = lambda { |*result| fib.resume(*result) }
|
58
|
+
send(ameth, *args, &proc)
|
59
|
+
Fiber.yield
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
46
65
|
def use(tube, &blk)
|
47
66
|
return if @used_tube == tube
|
48
67
|
|
@@ -195,7 +214,9 @@ module EMJack
|
|
195
214
|
r = reserve(timeout)
|
196
215
|
r.callback do |job|
|
197
216
|
blk.call(job)
|
198
|
-
|
217
|
+
EM.next_tick { work.call }
|
218
|
+
end
|
219
|
+
r.errback do
|
199
220
|
EM.next_tick { work.call }
|
200
221
|
end
|
201
222
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- dan sinclair
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-08-13 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|