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

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 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