sucker_punch 0.4.1 → 0.5

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e3be0885b87ed8ac291fdeac7544144861e1b0cd
4
+ data.tar.gz: bc01e63679efe79cc3abd16919a783bd69040188
5
+ SHA512:
6
+ metadata.gz: 126b399cdc681cda0c402095fc15d491ee30508e63df29587cc07ae9f26f45da667f4c0d37285fbbb45e655637ad5cde293082a619e09ec1041b049f3ff62a03
7
+ data.tar.gz: 6fdd0061fe2648270b26047750744cd4f75879d6f8bf1c855dce1f3b5c16766de7330ae75c20820d4b75bc14f2508c7ff57bece66277e432ee526d2618150105
data/CHANGES.md CHANGED
@@ -1,3 +1,10 @@
1
+ 0.5
2
+ --------
3
+
4
+ - `SuckerPunch::Queue#size` now returns the number of messages enqueued
5
+ - `SuckerPunch::Queue#workers` now returns the number of workers in the queue
6
+ - Update Celluloid dependency
7
+
1
8
  0.4.1
2
9
  --------
3
10
 
data/README.md CHANGED
@@ -105,8 +105,9 @@ SuckerPunch::Queue[:log_queue].async.perform("login") # => nil
105
105
  ## Stats
106
106
 
107
107
  ```Ruby
108
- SuckerPunch::Queue[:log_queue].workers # => 7
109
- SuckerPunch::Queue[:log_queue].busy_size # => 4
108
+ SuckerPunch::Queue[:log_queue].workers # => 10
109
+ SuckerPunch::Queue[:log_queue].size # => 23 # # of jobs enqueued
110
+ SuckerPunch::Queue[:log_queue].busy_size # => 7
110
111
  SuckerPunch::Queue[:log_queue].idle_size # => 3
111
112
  ```
112
113
 
@@ -11,15 +11,22 @@ module SuckerPunch
11
11
  end
12
12
 
13
13
  def register(klass, size)
14
- Celluloid::Actor[name] = if size
15
- klass.send(:pool, size: size)
16
- else
17
- klass.send(:pool)
18
- end
14
+ opts = {}
15
+ opts[:size] = size if size
16
+ Celluloid::Actor[name] = klass.send(:pool, opts)
19
17
  end
20
18
 
19
+ # Equivalent to size of the Celluloid Pool
20
+ # However, in context of a "queue" workers
21
+ # makes more sense here
21
22
  def workers
22
- size
23
+ Celluloid::Actor[name].size
24
+ end
25
+
26
+ # Equivalent to number of messages queued
27
+ # in the Celluloid mailbox
28
+ def size
29
+ Celluloid::Actor[name].mailbox.size
23
30
  end
24
31
 
25
32
  def method_missing(method_name, *args, &block)
@@ -1,3 +1,3 @@
1
1
  module SuckerPunch
2
- VERSION = "0.4.1"
2
+ VERSION = "0.5"
3
3
  end
@@ -44,9 +44,10 @@ describe SuckerPunch::Queue do
44
44
  end
45
45
 
46
46
  it "sends messages to Actor" do
47
- queue.size.should == 2
47
+ queue.workers.should == 2
48
48
  queue.idle_size.should == 2
49
49
  queue.busy_size.should == 0
50
+ queue.size.should == 0
50
51
  end
51
52
  end
52
53
  end
@@ -20,5 +20,5 @@ Gem::Specification.new do |gem|
20
20
  gem.add_development_dependency "rspec"
21
21
  gem.add_development_dependency "rake"
22
22
 
23
- gem.add_dependency "celluloid", "~> 0.13.0"
23
+ gem.add_dependency "celluloid", "~> 0.14.1"
24
24
  end
metadata CHANGED
@@ -1,64 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sucker_punch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
5
- prerelease:
4
+ version: '0.5'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Brandon Hilkert
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-11 00:00:00.000000000 Z
11
+ date: 2013-06-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
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
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
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
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: celluloid
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: 0.13.0
47
+ version: 0.14.1
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: 0.13.0
54
+ version: 0.14.1
62
55
  description: Asynchronous processing library for Ruby
63
56
  email:
64
57
  - brandonhilkert@gmail.com
@@ -89,27 +82,26 @@ files:
89
82
  - sucker_punch.gemspec
90
83
  homepage: https://github.com/brandonhilkert/sucker_punch
91
84
  licenses: []
85
+ metadata: {}
92
86
  post_install_message:
93
87
  rdoc_options: []
94
88
  require_paths:
95
89
  - lib
96
90
  required_ruby_version: !ruby/object:Gem::Requirement
97
- none: false
98
91
  requirements:
99
- - - ! '>='
92
+ - - '>='
100
93
  - !ruby/object:Gem::Version
101
94
  version: '0'
102
95
  required_rubygems_version: !ruby/object:Gem::Requirement
103
- none: false
104
96
  requirements:
105
- - - ! '>='
97
+ - - '>='
106
98
  - !ruby/object:Gem::Version
107
99
  version: '0'
108
100
  requirements: []
109
101
  rubyforge_project:
110
- rubygems_version: 1.8.23
102
+ rubygems_version: 2.0.2
111
103
  signing_key:
112
- specification_version: 3
104
+ specification_version: 4
113
105
  summary: Sucker Punch is a Ruby asynchronous processing using Celluloid, heavily influenced
114
106
  by Sidekiq and girl_friday.
115
107
  test_files: