rock-queue 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -7,13 +7,14 @@ $LOAD_PATH.unshift 'lib'
7
7
  require 'rock-queue/tasks'
8
8
 
9
9
  GEM = "rock-queue"
10
- GEM_VERSION = "0.3.2"
10
+ GEM_VERSION = "0.3.3"
11
11
  SUMMARY = "A unified interface for various messaging queues"
12
- AUTHORS = ["Grzegorz Kazulak"]
12
+ AUTHORS = ["Grzegorz Kazulak", "Wojtek Mach", "Piotr Chmolowski", "Daniel Chrusciak"]
13
13
  EMAIL = "gregorz.kazulak@gmail.com"
14
14
  HOMEPAGE = "http://github.com/grzegorzkazulak/rock-queue"
15
15
 
16
16
  begin
17
+ gem 'jeweler', '~> 1.4'
17
18
  require 'jeweler'
18
19
  Jeweler::Tasks.new do |gem|
19
20
  gem.name = GEM
@@ -38,6 +39,7 @@ begin
38
39
  gem.extra_rdoc_files = ["LICENSE"]
39
40
  end
40
41
  Jeweler::GemcutterTasks.new
42
+ FileList['tasks/**/*.rake'].each { |task| import task }
41
43
  rescue LoadError
42
44
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
43
45
  end
@@ -26,7 +26,7 @@ module RockQueue
26
26
  end
27
27
 
28
28
  def async_at(method, time_to_run_at, *args)
29
- RockQueue.push_at(self.class, time_to_run_at, method, id, *args)
29
+ RockQueue.push_at(self.class, time_to_run_at, id, method, *args)
30
30
  end
31
31
  end
32
32
  end
@@ -1,3 +1,9 @@
1
+ begin
2
+ require 'mail'
3
+ rescue
4
+ RockQueue.logger.error "You need `mail` gem to use the Email Notifier"
5
+ end
6
+
1
7
  module RockQueue
2
8
  class EmailNotifier < AbstractNotifier
3
9
  def initialize(config)
@@ -15,12 +21,6 @@ module RockQueue
15
21
 
16
22
  # Notify by email
17
23
  def update(error)
18
- begin
19
- require 'mail'
20
- rescue
21
- RockQueue.logger.error "You need `mail` gem to use the Email Notifier"
22
- end
23
-
24
24
  RockQueue.logger.info "Sending e-mail message: #{error.message}"
25
25
 
26
26
  Mail.deliver do
@@ -16,6 +16,8 @@ module RockQueue
16
16
  RockQueue.logger.info "=> Worker ready. Hold your horses!"
17
17
  stop = false
18
18
  loop do
19
+ sleep(interval)
20
+
19
21
  ActiveRecord::Base.verify_active_connections!
20
22
  queues.each do |qname|
21
23
  obj, args = RockQueue.pop(qname)
@@ -34,7 +34,7 @@ describe "Object with ActiveRecordHelper" do
34
34
 
35
35
  Resque.delayed_queue_schedule_size.should == 1
36
36
  Resque.next_item_for_timestamp(time).should == {
37
- "args" => [["archive", @post.id]],
37
+ "args" => [[@post.id, "archive"]],
38
38
  "class" => "Post",
39
39
  "queue" => "default"
40
40
  }
@@ -1,7 +1,5 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
- require 'mail'
4
-
5
3
  describe "EmailNotifier" do
6
4
  before do
7
5
  config = {
@@ -1,7 +1,5 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
- require "mail"
4
-
5
3
  describe "Notifiers" do
6
4
  it "registers an observer" do
7
5
  notifiers = RockQueue::Notifiers.instance
@@ -14,7 +14,7 @@ describe "ResqueQueue" do
14
14
 
15
15
  it_should_behave_like "RockQueue adapter"
16
16
 
17
- it "should register worker" do
17
+ it "should register worker" do
18
18
  worker = RockQueue::Worker.new(:default)
19
19
  @adapter.register_worker(worker)
20
20
  Resque.redis.sismember(:workers, worker).should == true
@@ -30,4 +30,27 @@ describe "RockQueue" do
30
30
  RockQueue.disconnect
31
31
  lambda { RockQueue.adapter }.should raise_error
32
32
  end
33
+
34
+ it "should register worker" do
35
+ RockQueue.setup :adapter => :resque,
36
+ :server => 'localhost',
37
+ :port => 6379
38
+
39
+ worker = RockQueue::Worker.new(:default)
40
+ RockQueue.register_worker(worker)
41
+ Resque.redis.sismember(:workers, worker).should == true
42
+ end
43
+
44
+ it "should pull data off the queue when the receive method is called" do
45
+ RockQueue.push(:default, TestJob, 1)
46
+ RockQueue.receive(:default) do |obj|
47
+ obj.should be_an_instance_of(RockQueue::QueueObject)
48
+ obj.object.should == TestJob
49
+ obj.args.should == [[1]]
50
+ end
51
+ end
52
+
53
+ it "should raise error when there's no block for the receive method" do
54
+ lambda { RockQueue.receive(:default) }.should raise_error('No block given')
55
+ end
33
56
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rock-queue
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 21
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 3
8
- - 2
9
- version: 0.3.2
9
+ - 3
10
+ version: 0.3.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Grzegorz Kazulak
14
+ - Wojtek Mach
15
+ - Piotr Chmolowski
16
+ - Daniel Chrusciak
13
17
  autorequire: rock-queue
14
18
  bindir: bin
15
19
  cert_chain: []
16
20
 
17
- date: 2010-07-31 00:00:00 +02:00
21
+ date: 2010-09-01 00:00:00 +02:00
18
22
  default_executable:
19
23
  dependencies:
20
24
  - !ruby/object:Gem::Dependency
21
25
  name: rspec
22
26
  prerelease: false
23
27
  requirement: &id001 !ruby/object:Gem::Requirement
28
+ none: false
24
29
  requirements:
25
30
  - - ">="
26
31
  - !ruby/object:Gem::Version
32
+ hash: 13
27
33
  segments:
28
34
  - 1
29
35
  - 2
@@ -35,9 +41,11 @@ dependencies:
35
41
  name: resque
36
42
  prerelease: false
37
43
  requirement: &id002 !ruby/object:Gem::Requirement
44
+ none: false
38
45
  requirements:
39
46
  - - ">="
40
47
  - !ruby/object:Gem::Version
48
+ hash: 33
41
49
  segments:
42
50
  - 1
43
51
  - 9
@@ -49,9 +57,11 @@ dependencies:
49
57
  name: mail
50
58
  prerelease: false
51
59
  requirement: &id003 !ruby/object:Gem::Requirement
60
+ none: false
52
61
  requirements:
53
62
  - - ">="
54
63
  - !ruby/object:Gem::Version
64
+ hash: 13
55
65
  segments:
56
66
  - 2
57
67
  - 2
@@ -85,6 +95,17 @@ files:
85
95
  - lib/rock-queue/web.rb
86
96
  - lib/rock-queue/web/views/dashboard.erb
87
97
  - lib/rock-queue/worker.rb
98
+ - spec/active_record_helper_spec.rb
99
+ - spec/beanstalkd_spec.rb
100
+ - spec/email_notifier_spec.rb
101
+ - spec/fixtures.rb
102
+ - spec/notifiers_spec.rb
103
+ - spec/queue_object_spec.rb
104
+ - spec/resque_queue_spec.rb
105
+ - spec/rock_queue_spec.rb
106
+ - spec/shared.rb
107
+ - spec/spec_helper.rb
108
+ - spec/worker_spec.rb
88
109
  has_rdoc: true
89
110
  homepage: http://github.com/grzegorzkazulak/rock-queue
90
111
  licenses: []
@@ -95,23 +116,27 @@ rdoc_options:
95
116
  require_paths:
96
117
  - lib
97
118
  required_ruby_version: !ruby/object:Gem::Requirement
119
+ none: false
98
120
  requirements:
99
121
  - - ">="
100
122
  - !ruby/object:Gem::Version
123
+ hash: 3
101
124
  segments:
102
125
  - 0
103
126
  version: "0"
104
127
  required_rubygems_version: !ruby/object:Gem::Requirement
128
+ none: false
105
129
  requirements:
106
130
  - - ">="
107
131
  - !ruby/object:Gem::Version
132
+ hash: 3
108
133
  segments:
109
134
  - 0
110
135
  version: "0"
111
136
  requirements: []
112
137
 
113
138
  rubyforge_project:
114
- rubygems_version: 1.3.6
139
+ rubygems_version: 1.3.7
115
140
  signing_key:
116
141
  specification_version: 3
117
142
  summary: A unified interface for various messaging queues