aeden-refinery 0.10.6 → 0.10.8

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -2,4 +2,5 @@ logs/*.log
2
2
  config/config.yml
3
3
  rdoc/*
4
4
  refinery-*.gem
5
- stats.db
5
+ stats.db
6
+ *.pid
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.6
1
+ 0.10.8
data/bin/epub CHANGED
@@ -27,13 +27,16 @@ require 'getoptlong'
27
27
  require 'rdoc/usage'
28
28
  require File.dirname(__FILE__) + '/../lib/refinery'
29
29
 
30
+ pidfile = 'epub.pid'
31
+
30
32
  options = {}
31
33
  opts = GetoptLong.new(
32
34
  [ '--help', '-h', GetoptLong::NO_ARGUMENT ],
33
35
  [ '--debug', '-d', GetoptLong::NO_ARGUMENT ],
34
36
  [ '--config', '-c', GetoptLong::REQUIRED_ARGUMENT],
35
37
  [ '--publishers', '-p', GetoptLong::REQUIRED_ARGUMENT],
36
- [ '--verbose', '-v', GetoptLong::NO_ARGUMENT]
38
+ [ '--verbose', '-v', GetoptLong::NO_ARGUMENT],
39
+ [ '--pidfile', GetoptLong::REQUIRED_ARGUMENT]
37
40
  )
38
41
  opts.each do |opt, arg|
39
42
  case opt
@@ -47,7 +50,15 @@ opts.each do |opt, arg|
47
50
  options[:publishers] = arg
48
51
  when '--verbose'
49
52
  options[:verbose] = true
53
+ when '--pidfile'
54
+ pidfile = arg
50
55
  end
51
56
  end
52
57
 
53
- Refinery::EventPublisher.new(options).run
58
+ open(pidfile, 'w') do |f|
59
+ f << $$
60
+ end
61
+
62
+ Refinery::EventPublisher.new(options).run
63
+
64
+ File.delete(pidfile)
data/bin/refinery CHANGED
@@ -27,13 +27,16 @@ require 'getoptlong'
27
27
  require 'rdoc/usage'
28
28
  require File.dirname(__FILE__) + '/../lib/refinery'
29
29
 
30
+ pidfile = 'refinery.pid'
31
+
30
32
  options = {}
31
33
  opts = GetoptLong.new(
32
34
  [ '--help', '-h', GetoptLong::NO_ARGUMENT ],
33
35
  [ '--debug', '-d', GetoptLong::NO_ARGUMENT ],
34
36
  [ '--config', '-c', GetoptLong::REQUIRED_ARGUMENT],
35
37
  [ '--workers', '-w', GetoptLong::REQUIRED_ARGUMENT],
36
- [ '--verbose', '-v', GetoptLong::NO_ARGUMENT]
38
+ [ '--verbose', '-v', GetoptLong::NO_ARGUMENT],
39
+ [ '--pidfile', GetoptLong::REQUIRED_ARGUMENT]
37
40
  )
38
41
  opts.each do |opt, arg|
39
42
  case opt
@@ -47,7 +50,15 @@ opts.each do |opt, arg|
47
50
  options[:workers] = arg
48
51
  when '--verbose'
49
52
  options[:verbose] = true
53
+ when '--pidfile'
54
+ pidfile = arg
50
55
  end
51
56
  end
52
57
 
53
- Refinery::Server.new(options).run
58
+ open(pidfile, 'w') do |f|
59
+ f << $$
60
+ end
61
+
62
+ Refinery::Server.new(options).run
63
+
64
+ File.delete(pidfile)
@@ -73,6 +73,13 @@ module Refinery #:nodoc:
73
73
  private
74
74
  def execute
75
75
  logger.debug "Running daemon thread: #{name} (settings: #{settings.inspect})"
76
+
77
+ begin
78
+ require 'java'
79
+ java.lang.Thread.current_thread.name = "#{name} Daemon"
80
+ rescue LoadError => e
81
+ end
82
+
76
83
  while(running?)
77
84
  #logger.debug "Checking #{queue_name}_waiting"
78
85
  with_queue("#{queue_name}_waiting") do |waiting_queue|
@@ -11,6 +11,12 @@ module Refinery #:nodoc:
11
11
  queue_prefix = config['prefix'] || ''
12
12
  @server = server
13
13
  @thread = Thread.new do
14
+ begin
15
+ require 'java'
16
+ java.lang.Thread.current_thread.name = 'Heartbeat'
17
+ rescue Exception => e
18
+ end
19
+
14
20
  loop do
15
21
  with_queue("#{queue_prefix}heartbeat") do |heartbeat_queue|
16
22
  logger.debug "Send heartbeat"
@@ -26,6 +26,12 @@ module Refinery #:nodoc:
26
26
  def execute
27
27
  queue_prefix = config['prefix'] || ''
28
28
 
29
+ begin
30
+ require 'java'
31
+ java.lang.Thread.current_thread.name = "#{key} Processor"
32
+ rescue Exception => e
33
+ end
34
+
29
35
  logger.debug "Creating daemons for #{key}"
30
36
  1.upto(settings['workers']['initial']) do
31
37
  daemons << Daemon.new(self, key, queue_prefix, settings)
data/refinery.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{refinery}
5
- s.version = "0.10.6"
5
+ s.version = "0.10.8"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Anthony Eden"]
9
- s.date = %q{2009-07-23}
9
+ s.date = %q{2009-08-11}
10
10
  s.description = %q{Process data in a distributed fashion.}
11
11
  s.email = %q{anthonyeden@gmail.com}
12
12
  s.executables = ["epub", "monitor", "pubnow", "refinery"]
@@ -71,11 +71,12 @@ Gem::Specification.new do |s|
71
71
  "workers/sample.rb",
72
72
  "workers/sleep.rb"
73
73
  ]
74
+ s.has_rdoc = true
74
75
  s.homepage = %q{http://github.com/aeden/refinery}
75
76
  s.rdoc_options = ["--charset=UTF-8"]
76
77
  s.require_paths = ["lib"]
77
78
  s.rubyforge_project = %q{refinery}
78
- s.rubygems_version = %q{1.3.5}
79
+ s.rubygems_version = %q{1.3.1}
79
80
  s.summary = %q{Refinery processes data in a distributed environment.}
80
81
  s.test_files = [
81
82
  "test/test_helper.rb",
@@ -97,7 +98,7 @@ Gem::Specification.new do |s|
97
98
 
98
99
  if s.respond_to? :specification_version then
99
100
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
100
- s.specification_version = 3
101
+ s.specification_version = 2
101
102
 
102
103
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
103
104
  else
@@ -9,6 +9,7 @@ class DaemonTest < Test::Unit::TestCase
9
9
  @error_queue = stub('Queue(error)')
10
10
  @done_queue = stub('Queue(done)')
11
11
 
12
+ Refinery::Daemon.any_instance.stubs(:require).with('java').raises(LoadError)
12
13
  Refinery::Daemon.any_instance.stubs(:queue).with(
13
14
  'sample_waiting').returns(@waiting_queue)
14
15
  Refinery::Daemon.any_instance.stubs(:queue).with(
@@ -13,6 +13,7 @@ class ProcessorTest < Test::Unit::TestCase
13
13
  @error_queue = stub('Queue(error)')
14
14
  @done_queue = stub('Queue(done)')
15
15
 
16
+ Refinery::Daemon.any_instance.stubs(:require).with('java').raises(LoadError)
16
17
  Refinery::Daemon.any_instance.stubs(:queue).with(
17
18
  'sample_waiting').returns(@waiting_queue)
18
19
  Refinery::Daemon.any_instance.stubs(:queue).with(
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aeden-refinery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.6
4
+ version: 0.10.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Eden
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-23 00:00:00 -07:00
12
+ date: 2009-08-11 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -81,8 +81,9 @@ files:
81
81
  - workers/error.rb
82
82
  - workers/sample.rb
83
83
  - workers/sleep.rb
84
- has_rdoc: false
84
+ has_rdoc: true
85
85
  homepage: http://github.com/aeden/refinery
86
+ licenses:
86
87
  post_install_message:
87
88
  rdoc_options:
88
89
  - --charset=UTF-8
@@ -103,9 +104,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
104
  requirements: []
104
105
 
105
106
  rubyforge_project: refinery
106
- rubygems_version: 1.2.0
107
+ rubygems_version: 1.3.5
107
108
  signing_key:
108
- specification_version: 3
109
+ specification_version: 2
109
110
  summary: Refinery processes data in a distributed environment.
110
111
  test_files:
111
112
  - test/test_helper.rb