pigeon 0.4.7 → 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ begin
8
8
  gem.summary = %Q{Simple daemonized EventMachine engine framework with plug-in support}
9
9
  gem.description = %Q{Pigeon is a simple way to get started building an EventMachine engine that's intended to run as a background job.}
10
10
  gem.email = "github@tadman.ca"
11
- gem.homepage = "http://github.com/tadman/pigeon"
11
+ gem.homepage = "http://github.com/twg/pigeon"
12
12
  gem.authors = %w[ tadman ]
13
13
  gem.add_development_dependency 'eventmachine'
14
14
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.7
1
+ 0.4.8
@@ -72,11 +72,17 @@ class Pigeon::Processor
72
72
  protected
73
73
  def switch_to_next_task!
74
74
  @lock.synchronize do
75
+ if (@task)
76
+ @task.processor = nil
77
+ end
78
+
75
79
  @task = nil
76
-
77
- if (@task = @queue.pop(&@filter))
78
- @task.run!(self) do
79
- switch_to_next_task!
80
+
81
+ if (@queue)
82
+ if (@task = @queue.pop(&@filter))
83
+ @task.run!(self) do
84
+ switch_to_next_task!
85
+ end
80
86
  end
81
87
  end
82
88
  end
data/lib/pigeon/queue.rb CHANGED
@@ -134,6 +134,10 @@ class Pigeon::Queue
134
134
 
135
135
  # Adds a task to the queue.
136
136
  def <<(task)
137
+ unless (task.is_a?(Pigeon::Task))
138
+ raise "Cannot add task of class #{task.class} to #{self.class}"
139
+ end
140
+
137
141
  # If there is an insert operation already in progress, put this task in
138
142
  # the backlog for subsequent processing.
139
143
 
@@ -147,9 +151,7 @@ class Pigeon::Queue
147
151
  while (active_task) do
148
152
  # Set the claimable task flag for this task since it is not yet in the
149
153
  # actual task queue.
150
- @filter_lock.synchronize do
151
- @claimable_task[active_task] = true
152
- end
154
+ @claimable_task[active_task] = true
153
155
 
154
156
  unless (@observers.empty?)
155
157
  @observer_lock.synchronize do
data/lib/pigeon/task.rb CHANGED
@@ -5,6 +5,7 @@ class Pigeon::Task
5
5
 
6
6
  attr_reader :state
7
7
  attr_accessor :context
8
+ attr_accessor :processor
8
9
  attr_reader :engine
9
10
  attr_reader :exception
10
11
  attr_reader :created_at
data/pigeon.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pigeon}
8
- s.version = "0.4.7"
8
+ s.version = "0.4.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["tadman"]
12
- s.date = %q{2010-12-17}
12
+ s.date = %q{2011-01-06}
13
13
  s.default_executable = %q{launcher.example}
14
14
  s.description = %q{Pigeon is a simple way to get started building an EventMachine engine that's intended to run as a background job.}
15
15
  s.email = %q{github@tadman.ca}
@@ -53,7 +53,7 @@ Gem::Specification.new do |s|
53
53
  "test/unit/pigeon_task_test.rb",
54
54
  "test/unit/pigeon_test.rb"
55
55
  ]
56
- s.homepage = %q{http://github.com/tadman/pigeon}
56
+ s.homepage = %q{http://github.com/twg/pigeon}
57
57
  s.rdoc_options = ["--charset=UTF-8"]
58
58
  s.require_paths = ["lib"]
59
59
  s.rubygems_version = %q{1.3.7}
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 4
8
- - 7
9
- version: 0.4.7
8
+ - 8
9
+ version: 0.4.8
10
10
  platform: ruby
11
11
  authors:
12
12
  - tadman
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-17 00:00:00 -05:00
17
+ date: 2011-01-06 00:00:00 -05:00
18
18
  default_executable: launcher.example
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -74,7 +74,7 @@ files:
74
74
  - test/unit/pigeon_task_test.rb
75
75
  - test/unit/pigeon_test.rb
76
76
  has_rdoc: true
77
- homepage: http://github.com/tadman/pigeon
77
+ homepage: http://github.com/twg/pigeon
78
78
  licenses: []
79
79
 
80
80
  post_install_message: