perfectqueue 0.7.3 → 0.7.4
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/ChangeLog +8 -0
- data/lib/perfectqueue/backend/null.rb +33 -0
- data/lib/perfectqueue/backend/rdb.rb +2 -2
- data/lib/perfectqueue/backend/simpledb.rb +2 -1
- data/lib/perfectqueue/version.rb +1 -1
- data/test/backend_test.rb +2 -2
- metadata +13 -12
data/ChangeLog
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
|
2
|
+
== 2011-11-04 version 0.7.4
|
3
|
+
|
4
|
+
* Added NullBackend
|
5
|
+
* RDBBackend considers URLs begin with jdbc::mysql
|
6
|
+
* Reduced MAX_SELECT_ROW from 32 to 4 to reduce backend load
|
7
|
+
* SimpleDBBackend#list ignores finished task
|
8
|
+
|
9
|
+
|
2
10
|
== 2011-11-02 version 0.7.3
|
3
11
|
|
4
12
|
* Disables logger's buffering
|
@@ -0,0 +1,33 @@
|
|
1
|
+
|
2
|
+
module PerfectQueue
|
3
|
+
|
4
|
+
|
5
|
+
class NullBackend < Backend
|
6
|
+
def list(&block)
|
7
|
+
nil
|
8
|
+
end
|
9
|
+
|
10
|
+
def acquire(timeout, now=Time.now.to_i)
|
11
|
+
nil
|
12
|
+
end
|
13
|
+
|
14
|
+
def finish(token, delete_timeout=3600, now=Time.now.to_i)
|
15
|
+
false
|
16
|
+
end
|
17
|
+
|
18
|
+
def update(token, timeout)
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
|
22
|
+
def cancel(id, delete_timeout=3600, now=Time.now.to_i)
|
23
|
+
false
|
24
|
+
end
|
25
|
+
|
26
|
+
def submit(id, data, time=Time.now.to_i)
|
27
|
+
nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
end
|
33
|
+
|
@@ -8,7 +8,7 @@ class RDBBackend < Backend
|
|
8
8
|
@uri = uri
|
9
9
|
@table = table
|
10
10
|
@db = Sequel.connect(@uri)
|
11
|
-
init_db(@uri.split('
|
11
|
+
init_db(@uri.split('//',2)[0])
|
12
12
|
end
|
13
13
|
|
14
14
|
private
|
@@ -53,7 +53,7 @@ class RDBBackend < Backend
|
|
53
53
|
}
|
54
54
|
end
|
55
55
|
|
56
|
-
MAX_SELECT_ROW =
|
56
|
+
MAX_SELECT_ROW = 4
|
57
57
|
|
58
58
|
def acquire(timeout, now=Time.now.to_i)
|
59
59
|
connect {
|
@@ -32,6 +32,7 @@ class SimpleDBBackend < Backend
|
|
32
32
|
:consistent_read => @consistent_read) {|itemdata|
|
33
33
|
id = itemdata.name
|
34
34
|
attrs = itemdata.attributes
|
35
|
+
next unless attrs['created_at'].first
|
35
36
|
created_at = int_decode(attrs['created_at'].first)
|
36
37
|
data = attrs['data'].first
|
37
38
|
timeout = int_decode(attrs['timeout'].first)
|
@@ -39,7 +40,7 @@ class SimpleDBBackend < Backend
|
|
39
40
|
}
|
40
41
|
end
|
41
42
|
|
42
|
-
MAX_SELECT_ROW =
|
43
|
+
MAX_SELECT_ROW = 4
|
43
44
|
|
44
45
|
def acquire(timeout, now=Time.now.to_i)
|
45
46
|
while true
|
data/lib/perfectqueue/version.rb
CHANGED
data/test/backend_test.rb
CHANGED
@@ -15,8 +15,8 @@ class BackendTest < Test::Unit::TestCase
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def open_backend
|
18
|
-
|
19
|
-
PerfectQueue::RDBBackend.new(DB_URI, "perfectdb_test")
|
18
|
+
PerfectQueue::SimpleDBBackend.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'], 'perfectqueue-test-1').use_consistent_read
|
19
|
+
#PerfectQueue::RDBBackend.new(DB_URI, "perfectdb_test")
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'acquire' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: perfectqueue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-12-04 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sequel
|
16
|
-
requirement: &
|
16
|
+
requirement: &70353524266960 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.26.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70353524266960
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: aws-sdk
|
27
|
-
requirement: &
|
27
|
+
requirement: &70353524266380 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: 1.1.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70353524266380
|
36
36
|
description:
|
37
37
|
email: frsyuki@gmail.com
|
38
38
|
executables:
|
@@ -45,6 +45,7 @@ files:
|
|
45
45
|
- bin/perfectqueue
|
46
46
|
- lib/perfectqueue.rb
|
47
47
|
- lib/perfectqueue/backend.rb
|
48
|
+
- lib/perfectqueue/backend/null.rb
|
48
49
|
- lib/perfectqueue/backend/rdb.rb
|
49
50
|
- lib/perfectqueue/backend/simpledb.rb
|
50
51
|
- lib/perfectqueue/command/perfectqueue.rb
|
@@ -53,14 +54,14 @@ files:
|
|
53
54
|
- lib/perfectqueue/worker.rb
|
54
55
|
- ChangeLog
|
55
56
|
- README.rdoc
|
57
|
+
- test/backend_test.rb
|
56
58
|
- test/exec_test.rb
|
57
59
|
- test/test_helper.rb
|
58
|
-
- test/backend_test.rb
|
59
|
-
- test/fail.sh
|
60
60
|
- test/cat.sh
|
61
61
|
- test/echo.sh
|
62
|
-
- test/
|
62
|
+
- test/fail.sh
|
63
63
|
- test/huge.sh
|
64
|
+
- test/success.sh
|
64
65
|
homepage: https://github.com/treasure-data/perfectqueue
|
65
66
|
licenses: []
|
66
67
|
post_install_message:
|
@@ -86,11 +87,11 @@ signing_key:
|
|
86
87
|
specification_version: 3
|
87
88
|
summary: Highly available distributed queue built on RDBMS or SimpleDB
|
88
89
|
test_files:
|
90
|
+
- test/backend_test.rb
|
89
91
|
- test/exec_test.rb
|
90
92
|
- test/test_helper.rb
|
91
|
-
- test/backend_test.rb
|
92
|
-
- test/fail.sh
|
93
93
|
- test/cat.sh
|
94
94
|
- test/echo.sh
|
95
|
-
- test/
|
95
|
+
- test/fail.sh
|
96
96
|
- test/huge.sh
|
97
|
+
- test/success.sh
|