fluent-plugin-rabbitmq 0.0.5 → 0.0.6

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: 4d2862045bd52ab3ffede55b32f2cc7c647bf8bd3542587119583df1a705de83
4
- data.tar.gz: f9d540ed910f388a94f1a8dc4b4be809c60a417e7b3d06f693c4d1ff17f1adb0
3
+ metadata.gz: fbe96873dd049e18d49cf46c8e220635c67b96c22d71fd72c51441f3cc7c794d
4
+ data.tar.gz: ee06d3de86ca93ac03c540eeac105f18b1ccc99ea897c05c40b46a0aee926d3e
5
5
  SHA512:
6
- metadata.gz: bc87a28220cbbc8bea682edccaa93075b4cae213453673eaed593e27470ed330359dcd2b4a924256987e4706265b763eeebc624cf0e99366b21ebdf50dc2021d
7
- data.tar.gz: fcdb0456520efc73a6309c6e05dac06155754461f6867e8d2b44cec9400be7430adb37e4e47dfed21dca9c2217b3b13127134924e0a39970a73c8eccb8caf864
6
+ metadata.gz: 8e00500844dd157eb22b002ec2d9338c13b516062a0297be5ad90fb2fdf27424d9e443e7e380ac0d58b01ea475b699affdb832a804f8ddcd175c576e30d46a2e
7
+ data.tar.gz: 5d31f9ce8e15e6337e38d252f9c3a0fe6a65adf05704850ac68d44b7e780b121507406856799f5919391d7bf848eb4537e661e14ff52f401447afa2a083d0010
data/README.md CHANGED
@@ -34,6 +34,8 @@ fluentd >= 0.14.0
34
34
  <parse>
35
35
  @type json # or msgpack, ltsv, none
36
36
  </parse>
37
+ <buffer> # to use in buffered mode
38
+ </buffer>
37
39
  </source>
38
40
  ```
39
41
 
@@ -78,11 +80,13 @@ fluentd >= 0.14.0
78
80
  |persistent|true|false|messages is persistent to disk|
79
81
  |timestamp|true|false|if true, time of record is used as timestamp in AMQP message|
80
82
  |content_type|application/json|nil|message content type|
83
+ |frame_max|131072|nil|maximum permissible size of a frame|
81
84
  |mandatory||true|nil||
82
85
  |expiration|3600|nil|message time-to-live|
83
86
  |message_type||nil||
84
87
  |priority||nil||
85
88
  |app_id||nil||
89
+ |id_key|message_id|nil|id to specify message_id|
86
90
 
87
91
  ### TLS related configurations
88
92
 
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-rabbitmq"
6
- spec.version = "0.0.5"
6
+ spec.version = "0.0.6"
7
7
  spec.authors = ["NTT Communications"]
8
8
  spec.email = ["masaki.matsushita@ntt.com"]
9
9
 
@@ -42,6 +42,7 @@ module Fluent::Plugin
42
42
  param == "server" ? :server : Integer(param)
43
43
  end
44
44
  config_param :threaded, :bool, default: true
45
+ config_param :frame_max, :integer, default: nil
45
46
 
46
47
  config_param :tls, :bool, default: false
47
48
  config_param :tls_cert, :string, default: nil
@@ -55,9 +56,10 @@ module Fluent::Plugin
55
56
 
56
57
  config_param :persistent, :bool, default: false
57
58
  config_param :routing_key, :string, default: nil
59
+ config_param :id_key, :string, default: nil
58
60
  config_param :timestamp, :bool, default: false
59
61
  config_param :content_type, :string, default: nil
60
- config_param :mandatory, :bool, default: nil
62
+ config_param :content_encoding, :string, default: nil
61
63
  config_param :expiration, :integer, default: nil
62
64
  config_param :message_type, :integer, default: nil
63
65
  config_param :priority, :integer, default: nil
@@ -87,8 +89,8 @@ module Fluent::Plugin
87
89
  bunny_options[:recovery_attempts] = @recovery_attempts
88
90
  bunny_options[:auth_mechanism] = @auth_mechanism if @auth_mechanism
89
91
  bunny_options[:heartbeat] = @heartbeat if @heartbeat
90
- bunny_options[:threaded] = @threaded
91
92
  bunny_options[:logger] = log
93
+ bunny_options[:frame_max] = @frame_max if @frame_max
92
94
 
93
95
  bunny_options[:tls] = @tls
94
96
  bunny_options[:tls_cert] = @tls_cert if @tls_cert
@@ -100,6 +102,7 @@ module Fluent::Plugin
100
102
 
101
103
  @publish_options = {}
102
104
  @publish_options[:content_type] = @content_type if @content_type
105
+ @publish_options[:content_encoding] = @content_encoding if @content_encoding
103
106
  @publish_options[:persistent] = @persistent if @persistent
104
107
  @publish_options[:mandatory] = @mandatory if @mandatory
105
108
  @publish_options[:expiration] = @expiration if @expiration
@@ -107,13 +110,17 @@ module Fluent::Plugin
107
110
  @publish_options[:priority] = @priority if @priority
108
111
  @publish_options[:app_id] = @app_id if @app_id
109
112
 
110
- @formatter = formatter_create
113
+ @formatter = formatter_create(default_type: @type)
111
114
  end
112
115
 
113
116
  def multi_workers_ready?
114
117
  true
115
118
  end
116
119
 
120
+ def prefer_buffered_processing
121
+ false
122
+ end
123
+
117
124
  def start
118
125
  super
119
126
  @bunny.start
@@ -130,26 +137,37 @@ module Fluent::Plugin
130
137
  super
131
138
  end
132
139
 
133
- def process(tag, es)
140
+ def set_publish_options(tag, time, record)
141
+ @publish_options[:timestamp] = time.to_i if @timestamp
142
+
134
143
  if @exchange_type != "fanout"
135
144
  @publish_options[:routing_key] = @routing_key ? @routing_key : tag
136
145
  end
137
- es.each do |time, record|
138
- @publish_options[:timestamp] = time.to_i if @timestamp
139
- formatted = format(tag, time, record)
140
- @bunny_exchange.publish(formatted, @publish_options)
146
+
147
+ if @id_key
148
+ id = record[@id_key]
149
+ @publish_options[:message_id] = id if id
141
150
  end
142
151
  end
143
152
 
144
- def multi_workers_ready?
145
- true
153
+ def process(tag, es)
154
+ es.each do |time, record|
155
+ set_publish_options(tag, time, record)
156
+ record = inject_values_to_record(tag, time, record)
157
+ buf = @formatter.format(tag, time, record)
158
+ @bunny_exchange.publish(buf, @publish_options)
159
+ end
146
160
  end
147
161
 
148
- private
162
+ def write(chunk)
163
+ tag = chunk.metadata.tag
149
164
 
150
- def format(tag, time, record)
151
- record = inject_values_to_record(tag, time, record)
152
- @formatter.format(tag, time, record)
165
+ chunk.each do |time, record|
166
+ set_publish_options(tag, time, record)
167
+ record = inject_values_to_record(tag, time, record)
168
+ buf = @formatter.format(tag, time, record)
169
+ @bunny_exchange.publish(buf, @publish_options)
170
+ end
153
171
  end
154
172
  end
155
173
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-rabbitmq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - NTT Communications
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-21 00:00:00.000000000 Z
11
+ date: 2019-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler