logstash-output-nsq 1.0.10 → 1.0.11

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
  SHA1:
3
- metadata.gz: e1181fa99eaf3d901a8105443850f7f8fdb84598
4
- data.tar.gz: 6013ca1afc554012fe8ea85b6bb15e9d4ee620c1
3
+ metadata.gz: 935351cd974419b603229a1fc1f85470dd0c5e58
4
+ data.tar.gz: a8a2495d3589e5f5e7a0d59cfa8762d5cb432678
5
5
  SHA512:
6
- metadata.gz: ce2121499a39d4483c8898f64465aaf3ddfef373422466e9f81f8cf9d29aa00e2e1aded110db5b3985f839ca4c814bc163f7b7d2586227b46f12fc5a3d23b561
7
- data.tar.gz: ad1aee4bf575a89637f74aa6242455da091435164496649e8f91f2c492137060262782c9fb2d7867b05b554ebfa1af95708a0e561ea6e227feb6c2d586bfeda4
6
+ metadata.gz: ef92fb170e99c2d2eaa9bce9e7e3235dd0d95d2c019dcfbb8a6d372aa1d1d2ae007e2822b8a6e1bb3db95db35b8729ef8da981575d172aa1f5ee03275e02a2ee
7
+ data.tar.gz: 0d7b0484df89569fc6db8e384b165b4e59080674ab5814664f33b962fa39010f1e07176383bfeb1d15cf5a872164a6f14553f148345524db023a125206de0118
@@ -1,14 +1,12 @@
1
1
  require 'logstash/namespace'
2
2
  require 'logstash/outputs/base'
3
- require 'java'
3
+ require 'nsq'
4
4
 
5
5
  class LogStash::Outputs::Nsq < LogStash::Outputs::Base
6
- declare_threadsafe!
7
6
  config_name 'nsq'
8
7
 
9
8
  default :codec, 'json'
10
9
 
11
- default :codec, 'json'
12
10
  config :nsqd, :validate => :string, :default => nil
13
11
  config :nsqlookupd, :validate => :array, :default => nil
14
12
  config :topic, :validate => :string, :required => true
@@ -18,9 +16,6 @@ class LogStash::Outputs::Nsq < LogStash::Outputs::Base
18
16
 
19
17
  public
20
18
  def register
21
- @thread_batch_map = Concurrent::Hash.new
22
-
23
- require 'nsq'
24
19
  options = {
25
20
  :nsqlookupd => @nsqlookupd,
26
21
  :topic => @topic,
@@ -62,41 +57,15 @@ class LogStash::Outputs::Nsq < LogStash::Outputs::Base
62
57
 
63
58
  @producer = Nsq::Producer.new(options)
64
59
  @logger.info('Registering nsq producer', :nsqd => @nsqd, :nsqlookupd => @nsqlookupd, :topic => @topic)
65
- @codec.on_event do |event, data|
66
- write_to_nsq(event, data)
67
- end
68
60
  end # def register
69
61
 
70
- def write_to_nsq(event, data)
71
- begin
72
- @producer.write(event.sprintf(data))
73
- rescue LogStash::ShutdownSignal
74
- @logger.info('nsq producer got shutdown signal')
75
- rescue => e
76
- @logger.warn('nsq producer threw exception, restarting', :exception => e)
77
- end # begin
62
+ def write_to_nsq(payload)
63
+ @producer.write(payload)
78
64
  end # def send_to_nsq
79
65
 
80
- def prepare(record)
81
- # This output is threadsafe, so we need to keep a batch per thread.
82
- @thread_batch_map[Thread.current].add(record)
83
- end
84
-
85
- def multi_receive(events)
86
- t = Thread.current
87
- if !@thread_batch_map.include?(t)
88
- @thread_batch_map[t] = java.util.ArrayList.new(events.size)
89
- end
90
-
91
- events.each do |event|
92
- break if event == LogStash::SHUTDOWN
93
- @codec.encode(event)
94
- end
95
-
96
- batch = @thread_batch_map[t]
97
- if batch.any?
98
- retrying_send(batch)
99
- batch.clear
66
+ def multi_receive_encoded(encoded)
67
+ encoded.each do |event,data|
68
+ write_to_nsq(data)
100
69
  end
101
70
  end
102
71
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'logstash-output-nsq'
3
- s.version = "1.0.10"
3
+ s.version = "1.0.11"
4
4
  s.licenses = ["Apache License (2.0)"]
5
5
  s.summary = "this logstash plugin outputs in a nsq topic"
6
6
  s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-output-nsq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Schneider
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-20 00:00:00.000000000 Z
11
+ date: 2017-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: logstash-core
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - ">="
@@ -19,9 +20,8 @@ dependencies:
19
20
  - - "<"
20
21
  - !ruby/object:Gem::Version
21
22
  version: 8.0.0
22
- name: logstash-core
23
- prerelease: false
24
23
  type: :runtime
24
+ prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
@@ -31,48 +31,50 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 8.0.0
33
33
  - !ruby/object:Gem::Dependency
34
+ name: logstash-codec-plain
34
35
  requirement: !ruby/object:Gem::Requirement
35
36
  requirements:
36
37
  - - ">="
37
38
  - !ruby/object:Gem::Version
38
39
  version: '0'
39
- name: logstash-codec-plain
40
- prerelease: false
41
40
  type: :runtime
41
+ prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
+ name: nsq-ruby
48
49
  requirement: !ruby/object:Gem::Requirement
49
50
  requirements:
50
51
  - - ">="
51
52
  - !ruby/object:Gem::Version
52
53
  version: 2.1.0
53
- name: nsq-ruby
54
- prerelease: false
55
54
  type: :runtime
55
+ prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: 2.1.0
61
61
  - !ruby/object:Gem::Dependency
62
+ name: logstash-devutils
62
63
  requirement: !ruby/object:Gem::Requirement
63
64
  requirements:
64
65
  - - ">="
65
66
  - !ruby/object:Gem::Version
66
67
  version: '0'
67
- name: logstash-devutils
68
- prerelease: false
69
68
  type: :development
69
+ prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
- description: This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program
75
+ description: This gem is a logstash plugin required to be installed on top of the
76
+ Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
77
+ a stand-alone program
76
78
  email: ms@wck.biz
77
79
  executables: []
78
80
  extensions: []
@@ -95,7 +97,7 @@ licenses:
95
97
  metadata:
96
98
  logstash_plugin: 'true'
97
99
  logstash_group: output
98
- post_install_message:
100
+ post_install_message:
99
101
  rdoc_options: []
100
102
  require_paths:
101
103
  - lib
@@ -110,9 +112,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
112
  - !ruby/object:Gem::Version
111
113
  version: '0'
112
114
  requirements: []
113
- rubyforge_project:
114
- rubygems_version: 2.4.8
115
- signing_key:
115
+ rubyforge_project:
116
+ rubygems_version: 2.4.5.1
117
+ signing_key:
116
118
  specification_version: 4
117
119
  summary: this logstash plugin outputs in a nsq topic
118
120
  test_files: