iyyov 1.1.2-java → 1.1.3-java
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.
- data/History.rdoc +7 -0
- data/README.rdoc +1 -1
- data/Rakefile +2 -45
- data/bin/iyyov-fg +1 -1
- data/config/crontab +1 -1
- data/config/init.d/iyyov +1 -1
- data/init/iyyov +2 -2
- data/lib/iyyov.rb +1 -1
- data/lib/iyyov/base.rb +2 -2
- data/lib/iyyov/context.rb +1 -1
- data/lib/iyyov/daemon.rb +11 -3
- data/lib/iyyov/errors.rb +1 -1
- data/lib/iyyov/log_rotator.rb +1 -1
- data/lib/iyyov/scheduler.rb +1 -1
- data/lib/iyyov/shutdown_handler.rb +1 -1
- data/lib/iyyov/task.rb +2 -2
- data/test/setup.rb +13 -30
- data/test/test_context.rb +1 -1
- data/test/test_daemon.rb +1 -1
- data/test/test_scheduler.rb +6 -3
- metadata +32 -29
data/History.rdoc
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== 1.1.3 (2012-1-15)
|
2
|
+
* Add task on call to block for log access, etc.
|
3
|
+
* Fix handling of Gem::LoadError on reload of jobs.rb extended with a
|
4
|
+
daemon who's gem is not currently installed. Previously this was
|
5
|
+
fatal error.
|
6
|
+
* Upgrade to tarpit ~> 2.0, bundler Gemfile, gemspec (build)
|
7
|
+
|
1
8
|
=== 1.1.2 (2011-9-11)
|
2
9
|
* Add Task.log accessor.
|
3
10
|
* Fixes for ruby 1.9 compatibility; to_a -> Array()
|
data/README.rdoc
CHANGED
@@ -82,7 +82,7 @@ the above provided examples.
|
|
82
82
|
|
83
83
|
== License
|
84
84
|
|
85
|
-
Copyright (c) 2010-
|
85
|
+
Copyright (c) 2010-2012 David Kellum
|
86
86
|
|
87
87
|
Licensed under the Apache License, Version 2.0 (the "License"); you
|
88
88
|
may not use this file except in compliance with the License. You
|
data/Rakefile
CHANGED
@@ -1,50 +1,7 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
|
-
$LOAD_PATH << './lib'
|
4
|
-
|
5
3
|
require 'rubygems'
|
6
|
-
|
4
|
+
require 'bundler/setup'
|
7
5
|
require 'rjack-tarpit'
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
t = RJack::TarPit.new( 'iyyov', Iyyov::VERSION, :java_platform )
|
12
|
-
|
13
|
-
t.specify do |h|
|
14
|
-
h.developer( 'David Kellum', 'dek-oss@gravitext.com' )
|
15
|
-
h.testlib = :minitest
|
16
|
-
h.extra_deps += [ [ 'rjack-slf4j', '~> 1.6.1' ],
|
17
|
-
[ 'rjack-logback', '~> 1.1' ],
|
18
|
-
[ 'logrotate', '= 1.2.1' ] ]
|
19
|
-
h.extra_dev_deps += [ [ 'minitest', '~> 2.2' ],
|
20
|
-
[ 'hashdot-test-daemon', '~> 1.2' ] ]
|
21
|
-
end
|
22
|
-
|
23
|
-
# Version/date consistency checks:
|
24
|
-
|
25
|
-
task :chk_init_v do
|
26
|
-
t.test_line_match( 'init/iyyov',
|
27
|
-
/^gem.+#{t.name}/, /= #{t.version}/ )
|
28
|
-
end
|
29
|
-
task :chk_rcd_v do
|
30
|
-
t.test_line_match( 'config/init.d/iyyov', /^version=".+"/, /"#{t.version}"/ )
|
31
|
-
end
|
32
|
-
task :chk_cron_v do
|
33
|
-
t.test_line_match( 'config/crontab', /gems\/iyyov/,
|
34
|
-
/iyyov-#{t.version}-java/ )
|
35
|
-
end
|
36
|
-
task :chk_hist_v do
|
37
|
-
t.test_line_match( 'History.rdoc', /^==/, / #{t.version} / )
|
38
|
-
end
|
39
|
-
|
40
|
-
gem_tests = [ :chk_init_v, :chk_rcd_v, :chk_cron_v, :chk_hist_v ]
|
41
|
-
|
42
|
-
task :chk_hist_date do
|
43
|
-
t.test_line_match( 'History.rdoc', /^==/, /\([0-9\-]+\)$/ )
|
44
|
-
end
|
45
|
-
|
46
|
-
task :gem => gem_tests
|
47
|
-
task :tag => gem_tests + [ :chk_hist_date ]
|
48
|
-
task :push => [ :chk_hist_date ]
|
49
|
-
|
50
|
-
t.define_tasks
|
7
|
+
RJack::TarPit.new( 'iyyov' ).define_tasks
|
data/bin/iyyov-fg
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#. hashdot.vm.options += -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
|
5
5
|
|
6
6
|
#--
|
7
|
-
# Copyright (c) 2010-
|
7
|
+
# Copyright (c) 2010-2012 David Kellum
|
8
8
|
#
|
9
9
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
10
10
|
# may not use this file except in compliance with the License. You
|
data/config/crontab
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# PATH=/opt/bin
|
2
|
-
*/1 * * * * cd /opt/var/iyyov && /opt/jruby/gems/gems/iyyov-1.1.
|
2
|
+
*/1 * * * * cd /opt/var/iyyov && /opt/jruby/gems/gems/iyyov-1.1.3-java/init/iyyov jobs.rb
|
data/config/init.d/iyyov
CHANGED
data/init/iyyov
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
#. hashdot.vm.options += -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled
|
8
8
|
|
9
9
|
#--
|
10
|
-
# Copyright (c) 2010-
|
10
|
+
# Copyright (c) 2010-2012 David Kellum
|
11
11
|
#
|
12
12
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
13
13
|
# may not use this file except in compliance with the License. You
|
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
require 'rubygems'
|
26
26
|
|
27
|
-
gem( "iyyov", "= 1.1.
|
27
|
+
gem( "iyyov", "= 1.1.3" )
|
28
28
|
|
29
29
|
require 'rjack-logback'
|
30
30
|
RJack::Logback.config_console( :full => true, :thread => true )
|
data/lib/iyyov.rb
CHANGED
data/lib/iyyov/base.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2010-
|
2
|
+
# Copyright (c) 2010-2012 David Kellum
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
5
|
# may not use this file except in compliance with the License. You
|
@@ -16,5 +16,5 @@
|
|
16
16
|
|
17
17
|
module Iyyov
|
18
18
|
# Iyyov version
|
19
|
-
VERSION = '1.1.
|
19
|
+
VERSION = '1.1.3'
|
20
20
|
end
|
data/lib/iyyov/context.rb
CHANGED
data/lib/iyyov/daemon.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2010-
|
2
|
+
# Copyright (c) 2010-2012 David Kellum
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
5
|
# may not use this file except in compliance with the License. You
|
@@ -264,8 +264,16 @@ module Iyyov
|
|
264
264
|
# Return array suitable for comparing this daemon with prior
|
265
265
|
# running instance.
|
266
266
|
def exec_key
|
267
|
-
|
268
|
-
|
267
|
+
epath = begin
|
268
|
+
exe_path
|
269
|
+
rescue Gem::LoadError, Gem::GemNotFoundException => e
|
270
|
+
@log.warn( e.to_s )
|
271
|
+
# Use a bogus, unique path instead
|
272
|
+
"/tmp/gem-not-found/#{ Time.now.usec }/#{ rand( 2**31 ) }"
|
273
|
+
end
|
274
|
+
|
275
|
+
keys = [ run_dir, epath ].map { |p| File.expand_path( p ) }
|
276
|
+
keys += args.map { |a| a.to_s.strip }
|
269
277
|
keys.compact
|
270
278
|
end
|
271
279
|
|
data/lib/iyyov/errors.rb
CHANGED
data/lib/iyyov/log_rotator.rb
CHANGED
data/lib/iyyov/scheduler.rb
CHANGED
data/lib/iyyov/task.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2010-
|
2
|
+
# Copyright (c) 2010-2012 David Kellum
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
5
|
# may not use this file except in compliance with the License. You
|
@@ -133,7 +133,7 @@ module Iyyov
|
|
133
133
|
def run_direct
|
134
134
|
@log.debug "Running."
|
135
135
|
begin
|
136
|
-
rc = ( @block.call if @block )
|
136
|
+
rc = ( @block.call( self ) if @block )
|
137
137
|
filter( rc )
|
138
138
|
rescue StandardError => e
|
139
139
|
@log.error( "Handled and stopped with: ", e )
|
data/test/setup.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#--
|
2
|
-
# Copyright (c) 2010-
|
2
|
+
# Copyright (c) 2010-2012 David Kellum
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
5
5
|
# may not use this file except in compliance with the License. You
|
@@ -14,37 +14,20 @@
|
|
14
14
|
# permissions and limitations under the License.
|
15
15
|
#++
|
16
16
|
|
17
|
-
#### General test setup
|
17
|
+
#### General test setup, logging, console output ####
|
18
18
|
|
19
|
-
|
20
|
-
|
19
|
+
require 'rubygems'
|
20
|
+
require 'bundler/setup'
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
output = ARGV.include?( '-v' )
|
25
|
-
$stdout.write( "Loading %10s..." % name ) if output
|
26
|
-
yield
|
27
|
-
puts "%6.3fs" % (Time.now - start) if output
|
28
|
-
end
|
29
|
-
|
30
|
-
time_it( "rubygems" ) do
|
31
|
-
require 'rubygems'
|
32
|
-
end
|
33
|
-
|
34
|
-
time_it( "logback" ) do
|
35
|
-
require 'rjack-logback'
|
36
|
-
RJack::Logback.config_console( :level => RJack::Logback::INFO, :stderr => true )
|
37
|
-
end
|
38
|
-
|
39
|
-
time_it( "test/unit" ) do
|
40
|
-
require 'minitest/unit'
|
41
|
-
require 'minitest/autorun'
|
22
|
+
require 'rjack-logback'
|
23
|
+
RJack::Logback.config_console( :level => RJack::Logback::INFO, :stderr => true )
|
42
24
|
|
43
|
-
|
44
|
-
|
45
|
-
def print( *a ); $stdout.puts( *a ); end
|
46
|
-
def puts( *a ); $stdout.puts( *a ); end
|
47
|
-
end
|
48
|
-
MiniTest::Unit.output = TestOut.new
|
25
|
+
require 'minitest/unit'
|
26
|
+
require 'minitest/autorun'
|
49
27
|
|
28
|
+
# Make test output logging compatible: no partial lines.
|
29
|
+
class TestOut
|
30
|
+
def print( *a ); $stdout.puts( *a ); end
|
31
|
+
def puts( *a ); $stdout.puts( *a ); end
|
50
32
|
end
|
33
|
+
MiniTest::Unit.output = TestOut.new
|
data/test/test_context.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2010-
|
4
|
+
# Copyright (c) 2010-2012 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/test/test_daemon.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2010-
|
4
|
+
# Copyright (c) 2010-2012 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
data/test/test_scheduler.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env jruby
|
2
2
|
#.hashdot.profile += jruby-shortlived
|
3
3
|
#--
|
4
|
-
# Copyright (c) 2010-
|
4
|
+
# Copyright (c) 2010-2012 David Kellum
|
5
5
|
#
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License"); you
|
7
7
|
# may not use this file except in compliance with the License. You
|
@@ -58,10 +58,13 @@ class TestScheduler < MiniTest::Unit::TestCase
|
|
58
58
|
s = Scheduler.new
|
59
59
|
s.on_exit { flunk "Shouldn't make it here" }
|
60
60
|
counter = 0
|
61
|
-
tk = Task.new( :name => "test_shutdown", :period => 0.001 ) do
|
61
|
+
tk = Task.new( :name => "test_shutdown", :period => 0.001 ) do |t|
|
62
62
|
counter += 1
|
63
63
|
assert( counter <= 2 )
|
64
|
-
|
64
|
+
unless counter < 2
|
65
|
+
t.log.info "Shutting it down now"
|
66
|
+
:shutdown
|
67
|
+
end
|
65
68
|
end
|
66
69
|
s.add( tk )
|
67
70
|
s.add( Task.new( :period => 5.0 ) { flunk "nor here" } )
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: iyyov
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.1.
|
5
|
+
version: 1.1.3
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- David Kellum
|
@@ -10,75 +10,75 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date:
|
13
|
+
date: 2012-01-15 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rjack-slf4j
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
19
18
|
none: false
|
20
19
|
requirements:
|
21
20
|
- - ~>
|
22
21
|
- !ruby/object:Gem::Version
|
23
22
|
version: 1.6.1
|
23
|
+
requirement: *id001
|
24
|
+
prerelease: false
|
24
25
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rjack-logback
|
28
|
-
|
29
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
28
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
30
29
|
none: false
|
31
30
|
requirements:
|
32
31
|
- - ~>
|
33
32
|
- !ruby/object:Gem::Version
|
34
33
|
version: "1.1"
|
34
|
+
requirement: *id002
|
35
|
+
prerelease: false
|
35
36
|
type: :runtime
|
36
|
-
version_requirements: *id002
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: logrotate
|
39
|
-
|
40
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
39
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
41
|
requirements:
|
43
42
|
- - "="
|
44
43
|
- !ruby/object:Gem::Version
|
45
44
|
version: 1.2.1
|
45
|
+
requirement: *id003
|
46
|
+
prerelease: false
|
46
47
|
type: :runtime
|
47
|
-
version_requirements: *id003
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: minitest
|
50
|
-
|
51
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
50
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
52
51
|
none: false
|
53
52
|
requirements:
|
54
53
|
- - ~>
|
55
54
|
- !ruby/object:Gem::Version
|
56
55
|
version: "2.2"
|
56
|
+
requirement: *id004
|
57
|
+
prerelease: false
|
57
58
|
type: :development
|
58
|
-
version_requirements: *id004
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: hashdot-test-daemon
|
61
|
-
|
62
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
61
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
63
62
|
none: false
|
64
63
|
requirements:
|
65
64
|
- - ~>
|
66
65
|
- !ruby/object:Gem::Version
|
67
66
|
version: "1.2"
|
67
|
+
requirement: *id005
|
68
|
+
prerelease: false
|
68
69
|
type: :development
|
69
|
-
version_requirements: *id005
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: rjack-tarpit
|
72
|
-
|
73
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
72
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
74
73
|
none: false
|
75
74
|
requirements:
|
76
75
|
- - ~>
|
77
76
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
77
|
+
version: "2.0"
|
78
|
+
requirement: *id006
|
79
|
+
prerelease: false
|
79
80
|
type: :development
|
80
|
-
|
81
|
-
description: Down-to-earth job control and monitoring.
|
81
|
+
description:
|
82
82
|
email:
|
83
83
|
- dek-oss@gravitext.com
|
84
84
|
executables:
|
@@ -86,7 +86,6 @@ executables:
|
|
86
86
|
extensions: []
|
87
87
|
|
88
88
|
extra_rdoc_files:
|
89
|
-
- Manifest.txt
|
90
89
|
- History.rdoc
|
91
90
|
- README.rdoc
|
92
91
|
files:
|
@@ -131,21 +130,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
131
130
|
requirements:
|
132
131
|
- - ">="
|
133
132
|
- !ruby/object:Gem::Version
|
133
|
+
hash: 2
|
134
|
+
segments:
|
135
|
+
- 0
|
134
136
|
version: "0"
|
135
137
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
138
|
none: false
|
137
139
|
requirements:
|
138
140
|
- - ">="
|
139
141
|
- !ruby/object:Gem::Version
|
142
|
+
hash: 2
|
143
|
+
segments:
|
144
|
+
- 0
|
140
145
|
version: "0"
|
141
146
|
requirements: []
|
142
147
|
|
143
|
-
rubyforge_project:
|
144
|
-
rubygems_version: 1.8.
|
148
|
+
rubyforge_project:
|
149
|
+
rubygems_version: 1.8.11
|
145
150
|
signing_key:
|
146
151
|
specification_version: 3
|
147
152
|
summary: Down-to-earth job control and monitoring.
|
148
|
-
test_files:
|
149
|
-
|
150
|
-
- test/test_context.rb
|
151
|
-
- test/test_scheduler.rb
|
153
|
+
test_files: []
|
154
|
+
|