fluent-exec 0.0.2 → 0.0.3
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/fluent-exec.gemspec +3 -2
- data/lib/fluent-exec.rb +13 -23
- data/lib/fluent-exec/version.rb +1 -1
- metadata +5 -5
data/fluent-exec.gemspec
CHANGED
@@ -8,9 +8,10 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.version = Fluent::Exec::VERSION
|
9
9
|
gem.authors = ["Takenari Shinohara"]
|
10
10
|
gem.email = ["takenari.shinohara@gmail.com"]
|
11
|
-
gem.description = "
|
12
|
-
gem.summary = "
|
11
|
+
gem.description = "Execute Command and log exit status, output and runtime to fluentd."
|
12
|
+
gem.summary = "Execute Command and log exit status, output and runtime to fluentd."
|
13
13
|
gem.homepage = "https://github.com/tshinohara/fluent-exec"
|
14
|
+
gem.required_ruby_version = "~>1.9.1"
|
14
15
|
|
15
16
|
gem.files = `git ls-files`.split($/)
|
16
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
data/lib/fluent-exec.rb
CHANGED
@@ -38,6 +38,16 @@ module Fluent
|
|
38
38
|
exit 1
|
39
39
|
end
|
40
40
|
end
|
41
|
+
|
42
|
+
def io_copy_thr(from, to, str=nil)
|
43
|
+
Thread.new do
|
44
|
+
while s = from.read(1024)
|
45
|
+
to.write s
|
46
|
+
str << s if str
|
47
|
+
end
|
48
|
+
to.close
|
49
|
+
end
|
50
|
+
end
|
41
51
|
|
42
52
|
def exec
|
43
53
|
env = {}
|
@@ -48,26 +58,9 @@ module Fluent
|
|
48
58
|
begin_time = Time.now
|
49
59
|
sin, sout, serr, thr = Open3.popen3(env, *@cmd)
|
50
60
|
|
51
|
-
sin_t =
|
52
|
-
|
53
|
-
|
54
|
-
end
|
55
|
-
sin.close
|
56
|
-
end
|
57
|
-
|
58
|
-
sout_t = Thread.new do
|
59
|
-
while s = sout.read(1024)
|
60
|
-
out_str << s
|
61
|
-
$stdout.write s
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
serr_t = Thread.new do
|
66
|
-
while s = serr.read(1024)
|
67
|
-
err_str << s
|
68
|
-
$stderr.write s
|
69
|
-
end
|
70
|
-
end
|
61
|
+
sin_t = io_copy_thr $stdin, sin
|
62
|
+
sout_t = io_copy_thr sout, $stdout, out_str
|
63
|
+
serr_t = io_copy_thr serr, $stderr, err_str
|
71
64
|
|
72
65
|
status = thr.value
|
73
66
|
end_time = Time.now
|
@@ -87,9 +80,6 @@ module Fluent
|
|
87
80
|
def run(args)
|
88
81
|
parse! args
|
89
82
|
record = exec
|
90
|
-
#コマンドの実行を優先?
|
91
|
-
#fluentdサーバに接続できない場合はどうする?
|
92
|
-
# failover (file|stdout)?
|
93
83
|
begin
|
94
84
|
log = Fluent::Logger::FluentLogger.new(nil, :host => @host, :port => @port)
|
95
85
|
log.post @tag, record
|
data/lib/fluent-exec/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-exec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 0.4.3
|
30
|
-
description:
|
30
|
+
description: Execute Command and log exit status, output and runtime to fluentd.
|
31
31
|
email:
|
32
32
|
- takenari.shinohara@gmail.com
|
33
33
|
executables:
|
@@ -53,9 +53,9 @@ require_paths:
|
|
53
53
|
required_ruby_version: !ruby/object:Gem::Requirement
|
54
54
|
none: false
|
55
55
|
requirements:
|
56
|
-
- -
|
56
|
+
- - ~>
|
57
57
|
- !ruby/object:Gem::Version
|
58
|
-
version:
|
58
|
+
version: 1.9.1
|
59
59
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
60
|
none: false
|
61
61
|
requirements:
|
@@ -67,6 +67,6 @@ rubyforge_project:
|
|
67
67
|
rubygems_version: 1.8.23
|
68
68
|
signing_key:
|
69
69
|
specification_version: 3
|
70
|
-
summary:
|
70
|
+
summary: Execute Command and log exit status, output and runtime to fluentd.
|
71
71
|
test_files: []
|
72
72
|
has_rdoc:
|