em-jack 0.1.0 → 0.1.1
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/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
|