ducksboard_reporter 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ducksboard_reporter/file_tail.rb +9 -4
- data/lib/ducksboard_reporter/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd4ec0122592e3ac104687e7d5f4db8ba7800d22
|
4
|
+
data.tar.gz: 773ad4fa59eda3850ffeea216ca989d08ed969a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac2905fb4a3b4f9bef927634fe68d804feec9d3c76cac7ac37a9623b81cce6e04b13b1af974db398055695087a8379125ad44096872f159c5de10ff8791c8499
|
7
|
+
data.tar.gz: 3b3d223d26d3438544c75d817b3f4c59fbf5fcc3bb9457a4278a188ead4fae267a09c16bd4ac4eb0e07832bc14eaef106f96ce7ba68eda798af9f46d6bd3aeb6
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module DucksboardReporter
|
2
2
|
class FileTail
|
3
3
|
include Celluloid::Logger
|
4
|
+
class FileNotReadyForReadError < StandardError; end
|
4
5
|
|
5
6
|
attr_accessor :value, :timestamp, :name, :options
|
6
7
|
|
@@ -17,10 +18,10 @@ module DucksboardReporter
|
|
17
18
|
|
18
19
|
@line_block.call(line)
|
19
20
|
|
20
|
-
raise
|
21
|
+
raise FileNotReadyForReadError if line.nil? && !file_ready_for_read?
|
21
22
|
end
|
22
|
-
rescue Errno::ENOENT
|
23
|
-
sleep 0.
|
23
|
+
rescue Errno::ENOENT, FileNotReadyForReadError
|
24
|
+
sleep 0.5
|
24
25
|
retry
|
25
26
|
end
|
26
27
|
|
@@ -35,7 +36,7 @@ module DucksboardReporter
|
|
35
36
|
if (new_inode = File.stat(@path).ino) == @file.stat.ino
|
36
37
|
return
|
37
38
|
else
|
38
|
-
debug(log_format("Inode changed (#{@file.stat.ino} => #{new_inode}).
|
39
|
+
debug(log_format("Inode changed (#{@file.stat.ino} => #{new_inode}). Closing file."))
|
39
40
|
@file.close
|
40
41
|
end
|
41
42
|
end
|
@@ -49,6 +50,10 @@ module DucksboardReporter
|
|
49
50
|
@log_prefix ||= "FileTail (#{@path}): "
|
50
51
|
@log_prefix + msg
|
51
52
|
end
|
53
|
+
|
54
|
+
def file_ready_for_read?
|
55
|
+
@file && !@file.closed? && File.stat(@path).ino == @file.stat.ino
|
56
|
+
end
|
52
57
|
end
|
53
58
|
end
|
54
59
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ducksboard_reporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- unnu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|