perfectqueue 0.7.3 → 0.7.4

Sign up to get free protection for your applications and to get access to all the features.
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