sms-logparser 0.7.0 → 0.7.1
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.
- checksums.yaml +4 -4
- data/lib/sms-logparser/cli.rb +9 -6
- data/lib/sms-logparser/mysql.rb +3 -6
- data/lib/sms-logparser/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 296d8d061cd01d90fe03d842a78bdbf343e512ef
|
4
|
+
data.tar.gz: 7ead0d25faed08ce7fe3082a06d8d14dfbb67f76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c7fa5bdc80e292209795d134f4c56a5e2c73abcf985e18413cbbe741a09529408e1c0262f33925a9839b194a625eb4c32dc8accc678a726d916c42e9673b81d
|
7
|
+
data.tar.gz: a8bb321f3ecaa98b60a4d0144db508b1b61e718bdf082a2747e8ddadeafb51b03a89173a00f006c40c0b6c5e3b93d9d048bdaef3475be2099d64e9b39effc807
|
data/lib/sms-logparser/cli.rb
CHANGED
@@ -2,7 +2,7 @@ module SmsLogparser
|
|
2
2
|
class Cli < Thor
|
3
3
|
require 'yaml'
|
4
4
|
|
5
|
-
STATUS = {ok: 0, api_error: 1}
|
5
|
+
STATUS = {ok: 0, api_error: 1, running: 3}
|
6
6
|
|
7
7
|
class_option :config,
|
8
8
|
default: File.join(Dir.home, '.sms-logparser.yml'),
|
@@ -59,14 +59,14 @@ module SmsLogparser
|
|
59
59
|
def parse
|
60
60
|
say "Starting the parser...", :green
|
61
61
|
mysql = Mysql.new(options)
|
62
|
-
if mysql.parser_running?
|
63
|
-
say "
|
62
|
+
if !options[:simulate] && mysql.parser_running?
|
63
|
+
say "Exit. Another instance of the parser is already running.", :yellow
|
64
64
|
exit
|
65
65
|
end
|
66
66
|
state = {
|
67
67
|
last_event_id: mysql.get_last_parse_id,
|
68
68
|
match_count: 0,
|
69
|
-
status: STATUS[:
|
69
|
+
status: STATUS[:running],
|
70
70
|
run_at: Time.now,
|
71
71
|
run_time: 0.0
|
72
72
|
}
|
@@ -82,15 +82,18 @@ module SmsLogparser
|
|
82
82
|
state[:last_event_id] = entry['ID']
|
83
83
|
end
|
84
84
|
end
|
85
|
+
state[:status] = STATUS[:ok]
|
85
86
|
rescue => e
|
86
87
|
say "Error: #{e.message}", :red
|
87
88
|
say "Aborting parser run...", :red
|
88
89
|
state[:status] = STATUS[:api_error] if state
|
89
90
|
ensure
|
90
91
|
begin
|
91
|
-
if mysql
|
92
|
+
if mysql && state
|
92
93
|
state[:run_time] = (Time.now - state[:run_at]).round(2)
|
93
|
-
|
94
|
+
if state[:id]
|
95
|
+
mysql.write_parse_result(state) unless options[:simulate]
|
96
|
+
end
|
94
97
|
print_parse_results(state)
|
95
98
|
end
|
96
99
|
rescue => e
|
data/lib/sms-logparser/mysql.rb
CHANGED
@@ -48,7 +48,7 @@ module SmsLogparser
|
|
48
48
|
"SELECT status FROM sms_logparser_runs ORDER BY id DESC LIMIT 1"
|
49
49
|
)
|
50
50
|
if entry = last_parse.first
|
51
|
-
return
|
51
|
+
return entry['status'] == running_state ? true : false
|
52
52
|
end
|
53
53
|
false
|
54
54
|
end
|
@@ -67,13 +67,12 @@ module SmsLogparser
|
|
67
67
|
|
68
68
|
def write_parse_result(options)
|
69
69
|
client.query(
|
70
|
-
"UPDATE sms_logparser_runs SET
|
70
|
+
"UPDATE sms_logparser_runs SET\
|
71
71
|
last_event_id = #{options[:last_event_id]},\
|
72
72
|
match_count = #{options[:match_count]},\
|
73
73
|
status = #{options[:status]},\
|
74
74
|
run_time = #{options[:run_time]}\
|
75
|
-
WHERE id = #{options[id]}
|
76
|
-
)"
|
75
|
+
WHERE id = #{options[:id]}"
|
77
76
|
)
|
78
77
|
end
|
79
78
|
|
@@ -100,8 +99,6 @@ module SmsLogparser
|
|
100
99
|
|
101
100
|
private
|
102
101
|
|
103
|
-
|
104
|
-
|
105
102
|
def select_entries(last_id)
|
106
103
|
client.query("SELECT * FROM SystemEvents\
|
107
104
|
WHERE `FromHost` like '#{@host_filter}'\
|