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 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(':',2)[0])
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 = 32
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 = 32
43
+ MAX_SELECT_ROW = 4
43
44
 
44
45
  def acquire(timeout, now=Time.now.to_i)
45
46
  while true
@@ -1,5 +1,5 @@
1
1
  module PerfectQueue
2
2
 
3
- VERSION = '0.7.3'
3
+ VERSION = '0.7.4'
4
4
 
5
5
  end
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
- #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")
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.3
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-11-02 00:00:00.000000000Z
12
+ date: 2011-12-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sequel
16
- requirement: &12495760 !ruby/object:Gem::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: *12495760
24
+ version_requirements: *70353524266960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: aws-sdk
27
- requirement: &12495140 !ruby/object:Gem::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: *12495140
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/success.sh
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/success.sh
95
+ - test/fail.sh
96
96
  - test/huge.sh
97
+ - test/success.sh