dustin-beanstalk-client 1.0.2 → 1.0.2.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/History.txt +12 -0
- data/lib/beanstalk-client/connection.rb +17 -1
- data/lib/beanstalk-client/job.rb +18 -8
- data/lib/beanstalk-client/version.rb +1 -1
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
== 1.0.2 2008-06-18
|
2
|
+
|
3
|
+
* Support reserve-with-timeout on pools. (Dustin Sallings)
|
4
|
+
|
5
|
+
== 1.0.1 (never released)
|
6
|
+
|
7
|
+
* Fix bug preventing jobs from being deleted.
|
8
|
+
* Remove an extraneous message. (Dustin Sallings)
|
9
|
+
* Fix the github gemspec so beanstalk-client builds. (Isaac Feliu)
|
10
|
+
* Support the new reserve-with-timeout command in dev beanstalkd.
|
11
|
+
(Dustin Sallings)
|
12
|
+
|
1
13
|
== 1.0.0 2008-05-29
|
2
14
|
|
3
15
|
* Preserve the watch list when a Pool instance reconnects.
|
@@ -50,6 +50,10 @@ module Beanstalk
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def put(body, pri=65536, delay=0, ttr=120)
|
53
|
+
pri = pri.to_i
|
54
|
+
delay = delay.to_i
|
55
|
+
ttr = ttr.to_i
|
56
|
+
body = body.to_s # Make sure that body.size gives a useful number
|
53
57
|
interact("put #{pri} #{delay} #{ttr} #{body.size}\r\n#{body}\r\n",
|
54
58
|
%w(INSERTED BURIED))[0].to_i
|
55
59
|
end
|
@@ -101,6 +105,9 @@ module Beanstalk
|
|
101
105
|
end
|
102
106
|
|
103
107
|
def release(id, pri, delay)
|
108
|
+
id = id.to_i
|
109
|
+
pri = pri.to_i
|
110
|
+
delay = delay.to_i
|
104
111
|
interact("release #{id} #{pri} #{delay}\r\n", %w(RELEASED))
|
105
112
|
:ok
|
106
113
|
end
|
@@ -110,6 +117,15 @@ module Beanstalk
|
|
110
117
|
:ok
|
111
118
|
end
|
112
119
|
|
120
|
+
def touch(id)
|
121
|
+
interact("touch #{id}\r\n", %w(TOUCHED))
|
122
|
+
:ok
|
123
|
+
end
|
124
|
+
|
125
|
+
def kick(n)
|
126
|
+
interact("kick #{n}\r\n", %w(KICKED))[0].to_i
|
127
|
+
end
|
128
|
+
|
113
129
|
def use(tube)
|
114
130
|
return tube if tube == @last_used
|
115
131
|
@last_used = interact("use #{tube}\r\n", %w(USING))[0]
|
@@ -193,7 +209,7 @@ module Beanstalk
|
|
193
209
|
id, bytes = check_resp(word).map{|s| s.to_i}
|
194
210
|
body = read_bytes(bytes)
|
195
211
|
raise 'bad trailer' if read_bytes(2) != "\r\n"
|
196
|
-
[id, body]
|
212
|
+
[id, body, word == 'RESERVED']
|
197
213
|
end
|
198
214
|
|
199
215
|
def read_yaml(word)
|
data/lib/beanstalk-client/job.rb
CHANGED
@@ -36,28 +36,38 @@ class Beanstalk::Job
|
|
36
36
|
(@ybody ||= [begin YAML.load(body) rescue nil end])[0]
|
37
37
|
end
|
38
38
|
|
39
|
-
def initialize(conn, id, body)
|
39
|
+
def initialize(conn, id, body, reserved=true)
|
40
40
|
@conn = conn
|
41
41
|
@id = id
|
42
42
|
@body = body
|
43
|
-
@
|
43
|
+
@reserved = reserved
|
44
44
|
end
|
45
45
|
|
46
46
|
def delete()
|
47
|
-
|
48
|
-
@
|
47
|
+
return if !@reserved
|
48
|
+
@conn.delete(id)
|
49
|
+
@reserved = false
|
49
50
|
end
|
50
51
|
|
51
52
|
def put_back(pri=self.pri, delay=0, ttr=self.ttr)
|
52
53
|
@conn.put(body, pri, delay, ttr)
|
53
54
|
end
|
54
55
|
|
55
|
-
def release(newpri=
|
56
|
-
|
56
|
+
def release(newpri=nil, delay=0)
|
57
|
+
return if !@reserved
|
58
|
+
@conn.release(id, newpri || pri, delay)
|
59
|
+
@reserved = false
|
57
60
|
end
|
58
61
|
|
59
|
-
def bury(newpri=
|
60
|
-
|
62
|
+
def bury(newpri=nil)
|
63
|
+
return if !@reserved
|
64
|
+
@conn.bury(id, newpri || pri)
|
65
|
+
@reserved = false
|
66
|
+
end
|
67
|
+
|
68
|
+
def touch
|
69
|
+
return if !@reserved
|
70
|
+
@conn.touch(id)
|
61
71
|
end
|
62
72
|
|
63
73
|
def stats()
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dustin-beanstalk-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.2
|
4
|
+
version: 1.0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Rarick
|
@@ -71,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements: []
|
72
72
|
|
73
73
|
rubyforge_project: beanstalk
|
74
|
-
rubygems_version: 1.0
|
74
|
+
rubygems_version: 1.2.0
|
75
75
|
signing_key:
|
76
76
|
specification_version: 2
|
77
77
|
summary: Ruby client library for the Beanstalk protocol
|