ost 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1 -1
  3. data/lib/ost.rb +5 -1
  4. data/ost.gemspec +1 -1
  5. data/test/ost_test.rb +22 -0
  6. metadata +7 -13
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7d56949a251817fd42e7b1c1ea085185512f1567
4
+ data.tar.gz: e4a06723f0629316b924db731ce1d2521e18eccf
5
+ SHA512:
6
+ metadata.gz: a284c35a61569f0cbffb1ef1dc13d71e61c841c582eeda66a2b9e44d6f7d6a76db4ce36a08d2c669b063648ee5a3f70e607cfa6899d684e14e6aba24a0884cb3
7
+ data.tar.gz: 65d1e5942ff81729e87e9ca30bc163483e7768cfd27daedd3a0bcd6a2b0bf63b8cd06f9240f49180f38173994027034650191fa38880706bec6f1bdab63557f2
data/README.md CHANGED
@@ -77,7 +77,7 @@ the same options as [redis-rb](https://github.com/redis/redis-rb).
77
77
  `Ost[:example].push item`, `Ost[:some_queue] << item`: add `item` to
78
78
  the `:example` queue.
79
79
 
80
- `Ost[:example].push { |item| ... }`, `Ost[:example].each { |item| ...
80
+ `Ost[:example].pop { |item| ... }`, `Ost[:example].each { |item| ...
81
81
  }`: consume `item` from the `:example` queue. If the block doesn't
82
82
  complete successfully, the item will be left at a backup queue.
83
83
 
data/lib/ost.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require "nest"
2
2
 
3
3
  module Ost
4
- TIMEOUT = ENV["OST_TIMEOUT"] || 2
4
+ TIMEOUT = (ENV["OST_TIMEOUT"] || 2).to_i
5
5
 
6
6
  class Queue
7
7
  attr :key
@@ -43,6 +43,10 @@ module Ost
43
43
  alias << push
44
44
  alias pop each
45
45
 
46
+ def size
47
+ key.llen
48
+ end
49
+
46
50
  def redis
47
51
  @redis ||= Redis.connect(Ost.options)
48
52
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "ost"
3
- s.version = "0.1.5"
3
+ s.version = "0.1.6"
4
4
  s.summary = "Redis based queues and workers."
5
5
  s.description = "Ost lets you manage queues and workers with Redis."
6
6
  s.authors = ["Michel Martens"]
@@ -135,4 +135,26 @@ scope do
135
135
 
136
136
  assert_equal queue.key.redis, queue.redis
137
137
  end
138
+
139
+ test "report the queue size" do
140
+ queue = Ost[:size]
141
+
142
+ assert_equal 0, queue.size
143
+
144
+ queue << 1
145
+
146
+ assert_equal 1, queue.size
147
+
148
+ done = false
149
+
150
+ Thread.new do
151
+ Ost[:size].each do |item|
152
+ done = true
153
+ end
154
+ end
155
+
156
+ until done; end
157
+
158
+ assert_equal 0, queue.size
159
+ end
138
160
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ost
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 0.1.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Michel Martens
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-28 00:00:00.000000000 Z
11
+ date: 2014-07-06 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nest
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: cutest
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -59,26 +54,25 @@ files:
59
54
  - test/test_helper.rb
60
55
  homepage: http://github.com/soveran/ost
61
56
  licenses: []
57
+ metadata: {}
62
58
  post_install_message:
63
59
  rdoc_options: []
64
60
  require_paths:
65
61
  - lib
66
62
  required_ruby_version: !ruby/object:Gem::Requirement
67
- none: false
68
63
  requirements:
69
- - - ! '>='
64
+ - - '>='
70
65
  - !ruby/object:Gem::Version
71
66
  version: '0'
72
67
  required_rubygems_version: !ruby/object:Gem::Requirement
73
- none: false
74
68
  requirements:
75
- - - ! '>='
69
+ - - '>='
76
70
  - !ruby/object:Gem::Version
77
71
  version: '0'
78
72
  requirements: []
79
73
  rubyforge_project:
80
- rubygems_version: 1.8.23
74
+ rubygems_version: 2.0.3
81
75
  signing_key:
82
- specification_version: 3
76
+ specification_version: 4
83
77
  summary: Redis based queues and workers.
84
78
  test_files: []