data_collector 0.36.0 → 0.39.0

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: 649b618a7676b2153451b2bc3053726dd332ccc95a58ce0fe7115f4c9cc5a7eb
4
- data.tar.gz: 625ca0e9da4e6b986d7ead973c80fc04a87a5539f0f7263efc672ee0f3ef7eb1
3
+ metadata.gz: 05ef65e41068e348fb98f4006fa50917f0d1f36b321193388e506dca9d912a07
4
+ data.tar.gz: c711d472ea38bdcb999d1b2ef3701e6b6fc0f7933bac137aa65537decb0d3137
5
5
  SHA512:
6
- metadata.gz: 2372b50b9fc9e6f5a17575c1755e169f0ddbaef44ed96847d8f5c87b28a3e30e46276cf47f6e506fe843a2293190b54fd556978ea175f937693abd4f83a637dd
7
- data.tar.gz: 7a417a9ee3a70140a3601d20613159222f6c2d6d0d7feaa99c447c7e31306f14c6f08c50543cb8fda85315b5fe62abde202e2b3bda51ac421f6a517f7b6be740
6
+ metadata.gz: 6093dea6542e5bb7a01d8149aff449912e606e1d482b0f5cf1d54a6845776592cbf84ee4fda979797aec66ceca00022ecc8e51fbdaf01123c6721aa879961c9b
7
+ data.tar.gz: effdc6c09bf03c1d1683e3c95eda047078a9daedd4a31bf350b531b6760921e4a618f5693f07a26faa3ed77039db7ec2c1c622f03b951debfded1ca1fc16377d
@@ -51,6 +51,8 @@ Gem::Specification.new do |spec|
51
51
  spec.add_runtime_dependency 'builder', '~> 3.2'
52
52
  spec.add_runtime_dependency 'parse-cron', '~> 0.1'
53
53
  spec.add_runtime_dependency 'linkeddata', '~> 3.3'
54
+ spec.add_runtime_dependency 'connection_pool', '~> 2.4'
55
+
54
56
 
55
57
  spec.add_development_dependency 'bundler', '~> 2.3'
56
58
  spec.add_development_dependency 'minitest', '~> 5.18'
@@ -0,0 +1,58 @@
1
+ require 'connection_pool'
2
+
3
+ module BunnyBurrow
4
+ class Connection
5
+ include Singleton
6
+ attr_reader :connection, :started
7
+ attr_accessor :verify_peer, :connection_name, :rabbitmq_url
8
+
9
+ def initialize
10
+ super
11
+ @started = false
12
+ end
13
+ def connection
14
+ @connection ||= Bunny.new(@rabbitmq_url, verify_peer: @verify_peer, connection_name: @connection_name)
15
+ unless @started
16
+ @connection.start
17
+ @started = true
18
+ end
19
+
20
+ @connection
21
+ end
22
+
23
+ def channel
24
+ @channel ||= ConnectionPool::Wrapper.new do
25
+ connection.create_channel
26
+ end
27
+ end
28
+ end
29
+
30
+ class Base
31
+ attr_accessor(
32
+ :connection_name
33
+ )
34
+
35
+ private
36
+
37
+ def connection
38
+ Connection.instance.connection_name = @connection_name
39
+ Connection.instance.verify_peer = @verify_peer
40
+ Connection.instance.rabbitmq_url = @rabbitmq_url
41
+
42
+ unless @connection
43
+ @connection = Connection.instance.connection
44
+ end
45
+
46
+ @connection
47
+ end
48
+
49
+ def channel
50
+ Connection.instance.connection_name = @connection_name
51
+ Connection.instance.verify_peer = @verify_peer
52
+ Connection.instance.rabbitmq_url = @rabbitmq_url
53
+
54
+ @channel ||= Connection.instance.channel
55
+ end
56
+ end
57
+ end
58
+
@@ -1,4 +1,7 @@
1
+ require 'bunny_burrow'
2
+ require_relative '../ext/base'
1
3
  require 'listen'
4
+ require 'active_support/core_ext/hash'
2
5
 
3
6
  module DataCollector
4
7
  class Input
@@ -56,7 +59,7 @@ module DataCollector
56
59
 
57
60
  private
58
61
 
59
- def create_listener
62
+ def create_listener(log = false)
60
63
  raise DataCollector::Error, 'Please implement a listener'
61
64
  end
62
65
 
@@ -1,9 +1,4 @@
1
1
  require_relative 'generic'
2
- require 'bunny_burrow'
3
- require 'active_support/core_ext/hash'
4
- require 'ostruct'
5
- require 'securerandom'
6
- require 'thread'
7
2
 
8
3
  module DataCollector
9
4
  class Input
@@ -64,6 +59,7 @@ module DataCollector
64
59
  server.rabbitmq_url = @bunny_uri.to_s
65
60
  server.rabbitmq_exchange = @bunny_channel
66
61
 
62
+ server.connection_name = @name
67
63
  server.logger = DataCollector::Core.logger if log
68
64
  end
69
65
 
@@ -1,5 +1,7 @@
1
1
  require 'bunny_burrow'
2
+ require_relative '../ext/base'
2
3
  require 'json'
4
+ require 'active_support/core_ext/hash'
3
5
 
4
6
  module DataCollector
5
7
  class Output
@@ -9,6 +11,7 @@ module DataCollector
9
11
  @options = options
10
12
  @running = false
11
13
 
14
+ @name = options[:name] || "output-#{Time.now.to_i}-#{rand(10000)}"
12
15
  create_producer
13
16
  end
14
17
 
@@ -29,7 +32,7 @@ module DataCollector
29
32
  end
30
33
 
31
34
  private
32
- def create_producer
35
+ def create_producer(log = false)
33
36
  raise DataCollector::Error, 'Please implement a producer'
34
37
  end
35
38
 
@@ -20,12 +20,14 @@ module DataCollector
20
20
  end
21
21
 
22
22
  private
23
- def create_producer
23
+ def create_producer(log = false)
24
24
  @producer ||= BunnyBurrow::Client.new do |client|
25
25
  parse_uri
26
26
  client.rabbitmq_url = @bunny_uri.to_s
27
27
  client.rabbitmq_exchange = @bunny_channel
28
- client.logger = DataCollector::Core.logger
28
+ client.connection_name = @name
29
+
30
+ client.logger = DataCollector::Core.logger if log
29
31
  @running = true
30
32
  end
31
33
  end
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  module DataCollector
3
- VERSION = "0.36.0"
3
+ VERSION = "0.39.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_collector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.36.0
4
+ version: 0.39.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mehmet Celik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-21 00:00:00.000000000 Z
11
+ date: 2023-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -220,6 +220,20 @@ dependencies:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
222
  version: '3.3'
223
+ - !ruby/object:Gem::Dependency
224
+ name: connection_pool
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '2.4'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '2.4'
223
237
  - !ruby/object:Gem::Dependency
224
238
  name: bundler
225
239
  requirement: !ruby/object:Gem::Requirement
@@ -296,6 +310,7 @@ files:
296
310
  - lib/data_collector.rb
297
311
  - lib/data_collector/config_file.rb
298
312
  - lib/data_collector/core.rb
313
+ - lib/data_collector/ext/base.rb
299
314
  - lib/data_collector/ext/xml_utility_node.rb
300
315
  - lib/data_collector/input.rb
301
316
  - lib/data_collector/input/dir.rb