fluent-plugin-pghstore 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "fluent-plugin-pghstore"
6
- s.version = "0.1.0"
6
+ s.version = "0.1.1"
7
7
  s.authors = ["WAKAYAMA Shirou"]
8
8
  s.email = ["shirou.faw@gmail.com"]
9
9
  s.homepage = "https://github.com/shirou/fluent-plugin-pghstore"
@@ -18,16 +18,12 @@ class Fluent::PgHStoreOutput < Fluent::BufferedOutput
18
18
  def start
19
19
  super
20
20
 
21
- @conn = get_connection(@database, @host, @port, @user, @password)
22
-
23
21
  create_table(@table) unless table_exists?(@table)
24
-
25
22
  end
26
23
 
27
24
  def shutdown
28
25
  super
29
26
 
30
- @conn.close
31
27
  end
32
28
 
33
29
  def format(tag, time, record)
@@ -35,14 +31,21 @@ class Fluent::PgHStoreOutput < Fluent::BufferedOutput
35
31
  end
36
32
 
37
33
  def write(chunk)
34
+ conn = get_connection()
35
+ if conn == nil
36
+ return
37
+ end
38
+
38
39
  chunk.msgpack_each {|(tag, time_str, record)|
39
40
  sql = generate_sql(tag, time_str, record)
40
41
  begin
41
- @conn.exec(sql)
42
+ conn.exec(sql)
42
43
  rescue PGError => e
43
44
  $log.error "PGError: " + e.message # throw away
44
45
  end
46
+
45
47
  }
48
+ conn.close
46
49
  end
47
50
 
48
51
  private
@@ -64,12 +67,17 @@ SQL
64
67
  return sql
65
68
  end
66
69
 
67
- def get_connection(dbname, host, port, user, password)
68
- if user
69
- return PG.connect(:dbname => dbname, :host => host, :port => port,
70
- :user => user, :password => password)
71
- else
72
- return PG.connect(:dbname => dbname, :host => host, :port => port)
70
+ def get_connection()
71
+ begin
72
+ if @user
73
+ return PG.connect(:dbname => @database, :host => @host, :port => @port,
74
+ :user => @user, :password => @password)
75
+ else
76
+ return PG.connect(:dbname => @database, :host => @host, :port => @port)
77
+ end
78
+ rescue PGError => e
79
+ $log.error "Error: could not connect database:" + @database
80
+ return nil
73
81
  end
74
82
  end
75
83
 
@@ -77,7 +85,9 @@ SQL
77
85
  sql =<<"SQL"
78
86
  SELECT COUNT(*) FROM pg_tables WHERE tablename = '#{table}';
79
87
  SQL
80
- res = @conn.exec(sql)
88
+ conn = get_connection()
89
+ res = conn.exec(sql)
90
+ conn.close
81
91
  if res[0]["count"] == "1"
82
92
  return true
83
93
  else
@@ -96,7 +106,9 @@ SQL
96
106
 
97
107
  sql += @table_option if @table_option
98
108
 
99
- @conn.exec(sql)
109
+ conn = get_connection()
110
+ conn.exec(sql)
111
+ conn.close
100
112
 
101
113
  $log.warn "#{tablename} table is not exists. created."
102
114
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-pghstore
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-09 00:00:00.000000000 Z
12
+ date: 2012-04-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec