kiba-plus 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kiba/plus/job.rb +11 -7
- data/lib/kiba/plus/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: 861e4d341112d878c3a33856142b514f86475884
|
4
|
+
data.tar.gz: '05090fd337635b262970ac007c1f9fb550295e1b'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 223ab43b5c791aef57c9d46ef09825f6bb3b01e02a19b792f338279adc4206f8b69d4a9e0a8f284dcb29fd29e64700abb10c69c63305dfb228f270cd76e264ab
|
7
|
+
data.tar.gz: 32cf285eb64b8200eba18753c0dcb0ec974af74b18ee90f6df52d431a5f2c4c632f305c1901f3b24abb76c59d146a50bf56673366ca1b01075fc8a3d830195f3
|
data/lib/kiba/plus/job.rb
CHANGED
@@ -12,7 +12,7 @@ module Kiba
|
|
12
12
|
attr_reader :options, :client
|
13
13
|
def initialize(options)
|
14
14
|
@options = options
|
15
|
-
@options.assert_valid_keys(:connect_url, :job_id, :job_name, :start_at, :completed_at, :schema)
|
15
|
+
@options.assert_valid_keys(:connect_url, :job_id, :job_name, :start_at, :completed_at, :schema, :job_table_name)
|
16
16
|
url = URI.parse(connect_url)
|
17
17
|
if url.scheme =~ /mysql/i
|
18
18
|
@client = Mysql2::Client.new(mysql2_connect_hash(connect_url))
|
@@ -36,6 +36,10 @@ module Kiba
|
|
36
36
|
options.fetch(:job_name)
|
37
37
|
end
|
38
38
|
|
39
|
+
def job_table_name
|
40
|
+
options.fetch(:job_table_name, "etl_jobs")
|
41
|
+
end
|
42
|
+
|
39
43
|
def start_at
|
40
44
|
options.fetch(:start_at, Time.now)
|
41
45
|
end
|
@@ -51,7 +55,7 @@ module Kiba
|
|
51
55
|
end
|
52
56
|
|
53
57
|
def last_pull_at
|
54
|
-
sql = "SELECT MAX(created_at) AS last_pull_at FROM
|
58
|
+
sql = "SELECT MAX(created_at) AS last_pull_at FROM #{job_table_name} WHERE status = 'completed' AND job_name = '#{job_name}'"
|
55
59
|
Kiba::Plus.logger.info sql
|
56
60
|
client.query(sql).first["last_pull_at"]
|
57
61
|
end
|
@@ -83,7 +87,7 @@ module Kiba
|
|
83
87
|
|
84
88
|
def create_job_mysql
|
85
89
|
sql = <<-SQL
|
86
|
-
INSERT INTO
|
90
|
+
INSERT INTO #{job_table_name} (
|
87
91
|
completed_at,
|
88
92
|
job_name,
|
89
93
|
created_at,
|
@@ -99,7 +103,7 @@ module Kiba
|
|
99
103
|
|
100
104
|
def create_job_pg
|
101
105
|
sql = <<-SQL
|
102
|
-
INSERT INTO
|
106
|
+
INSERT INTO #{job_table_name} (
|
103
107
|
completed_at,
|
104
108
|
job_name,
|
105
109
|
created_at,
|
@@ -112,7 +116,7 @@ module Kiba
|
|
112
116
|
|
113
117
|
def create_table_pg
|
114
118
|
sql = <<-SQL
|
115
|
-
CREATE TABLE IF NOT EXISTS
|
119
|
+
CREATE TABLE IF NOT EXISTS #{job_table_name} (
|
116
120
|
id SERIAL,
|
117
121
|
job_name varchar(255) NOT NULL,
|
118
122
|
created_at TIMESTAMP without time zone,
|
@@ -127,7 +131,7 @@ module Kiba
|
|
127
131
|
|
128
132
|
def create_table_mysql
|
129
133
|
sql = <<-SQL
|
130
|
-
CREATE TABLE IF NOT EXISTS
|
134
|
+
CREATE TABLE IF NOT EXISTS #{job_table_name} (
|
131
135
|
id integer(11) NOT NULL AUTO_INCREMENT,
|
132
136
|
job_name varchar(255) NOT NULL,
|
133
137
|
created_at datetime NOT NULL,
|
@@ -141,7 +145,7 @@ module Kiba
|
|
141
145
|
end
|
142
146
|
|
143
147
|
def complete_job
|
144
|
-
sql = "UPDATE
|
148
|
+
sql = "UPDATE #{job_table_name} SET status = 'completed', completed_at = '#{completed_at.to_s}' WHERE id = #{job_id} AND job_name = '#{job_name}'"
|
145
149
|
Kiba::Plus.logger.info sql
|
146
150
|
@client.query(sql)
|
147
151
|
end
|
data/lib/kiba/plus/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kiba-plus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hooopo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: kiba
|