influxdb-client 1.2.0.pre.471 → 1.2.0.pre.503

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: faad998c9be6723695c1cf6acb5c09015cd3eba3d3faafb81a8dc9ddf8d9d2a1
4
- data.tar.gz: 60cc22e507e5cfdcfc91fdb627c4d6a461c6a312d28249824bdf17b80bf24b0a
3
+ metadata.gz: 369c8281b3985a0757703f1c68a95d25793508a8c1c3c6dd458646ae01c768d8
4
+ data.tar.gz: 82c4dae23afd29ccb574a6314443ef53fc4fe3ff17f9f952d435c7522441d7e3
5
5
  SHA512:
6
- metadata.gz: 452b93ec31008b6b3973a548837bcee779506af4422428f8f8774b6b94332c7982773a99f6113be406b157699deced5a471ab305ade2aa1eb08503740e5f4265
7
- data.tar.gz: d5af60e0fc29ea16e7d744f15b9c3ffca4e798cfac9a129f7f0500dbec8fb3ca48f2dc4c8af9df7650160ec047037efb06f160d9d3bc92d80a7ba1400557803b
6
+ metadata.gz: 17c810f5d87978b3c7359031b52fa86d39c06d70bb118a15e4f686f5f0b515de2001bc77cae24bce50a1dec6d4f3b366b104997e657d61219586e266c67b3d4b
7
+ data.tar.gz: 5255b4b24ffd03b9895c624a501e765881a944368cd31d41eb02c421b29344955ad941532df9d02b416acb0ab9a7ff389142c432fca974ecf301ef88ba3f7c88
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  ## 1.2.0 [unreleased]
2
2
 
3
+ ### Bugs
4
+ 1. [#22](https://github.com/influxdata/influxdb-client-ruby/pull/22): Fixed batch write
5
+
3
6
  ## 1.1.0 [2020-02-14]
4
7
 
5
8
  ### Features
@@ -19,6 +19,7 @@
19
19
  # THE SOFTWARE.
20
20
  require 'csv'
21
21
  require 'base64'
22
+ require 'time'
22
23
 
23
24
  module InfluxDB2
24
25
  # This class represents Flux query error
@@ -50,7 +50,7 @@ module InfluxDB2
50
50
  @queue.push(payload)
51
51
  end
52
52
 
53
- def check_background_queue(size: false, flush_all: false)
53
+ def check_background_queue(size: false)
54
54
  @queue_event.pop
55
55
  data = {}
56
56
  points = 0
@@ -60,7 +60,7 @@ module InfluxDB2
60
60
  return
61
61
  end
62
62
 
63
- while (flush_all || points < @write_options.batch_size) && !@queue.empty?
63
+ while (points < @write_options.batch_size) && !@queue.empty?
64
64
  begin
65
65
  item = @queue.pop(true)
66
66
  key = item.key
@@ -68,16 +68,20 @@ module InfluxDB2
68
68
  data[key] << item.data
69
69
  points += 1
70
70
  rescue ThreadError
71
+ @queue_event.push(true)
71
72
  return
72
73
  end
73
74
  end
74
75
 
75
- write(data) unless data.values.flatten.empty?
76
- @queue_event.push(true)
76
+ begin
77
+ write(data) unless data.values.flatten.empty?
78
+ ensure
79
+ @queue_event.push(true)
80
+ end
77
81
  end
78
82
 
79
83
  def flush_all
80
- check_background_queue(flush_all: true) unless @queue.empty?
84
+ check_background_queue until @queue.empty?
81
85
  end
82
86
 
83
87
  def write(data)
@@ -136,6 +136,19 @@ class WriteApiBatchingTest < MiniTest::Test
136
136
  stub_request(:post, 'http://localhost:9999/api/v2/write?bucket=my-bucket&org=my-org&precision=ns')
137
137
  .to_return(status: 204)
138
138
 
139
+ @client.close!
140
+
141
+ @write_options = InfluxDB2::WriteOptions.new(write_type: InfluxDB2::WriteType::BATCHING,
142
+ batch_size: 10, flush_interval: 5_000)
143
+ @client = InfluxDB2::Client.new('http://localhost:9999',
144
+ 'my-token',
145
+ bucket: 'my-bucket',
146
+ org: 'my-org',
147
+ precision: InfluxDB2::WritePrecision::NANOSECOND,
148
+ use_ssl: false)
149
+
150
+ @write_client = @client.create_write_api(write_options: @write_options)
151
+
139
152
  @write_client.write(data: 'h2o_feet,location=coyote_creek level\\ water_level=1.0 1')
140
153
  @write_client.write(data: 'h2o_feet,location=coyote_creek level\\ water_level=2.0 2')
141
154
  @write_client.write(data: 'h2o_feet,location=coyote_creek level\\ water_level=3.0 3')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: influxdb-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.pre.471
4
+ version: 1.2.0.pre.503
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Bednar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-14 00:00:00.000000000 Z
11
+ date: 2020-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler