infield 0.1.5 → 0.1.6

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
- SHA1:
3
- metadata.gz: f95bf9fb19e6f469e86301a068c099c82547c993
4
- data.tar.gz: 98a3b708956e298ebbd4f98e6b0c6cea65d47a58
2
+ SHA256:
3
+ metadata.gz: 8e38ea40e467d3cbeb1bdffa874079e8e239b5848a0b29c92950af25e29be7cc
4
+ data.tar.gz: fe0209155165140aa4b0b00c42522fa17140e9b16c0b11a5934efd88e174a0e5
5
5
  SHA512:
6
- metadata.gz: 0d67738e62f786af86d8280c9ce089feea58039330a1a10cb925cc53d5445002e0104a25ad4e3cca41c5191a22bee5da22d75285560a31f543790a15d631417a
7
- data.tar.gz: aff3aa4a557756253806e8d939c593ac61f9a485030977ccb716194ae9a3595320278fdadc5da3bc60e84557e09f48cb1488b108ffe4535cb3e980cbb8415a19
6
+ metadata.gz: 851bfaa811aa0420cb11e538849e96799f2ea806620c918ee4b883d708a95343ebc4f94845d008d163d788a925037a98c4577bbaa79fd2a5c737b5740979c455
7
+ data.tar.gz: 883a1530b0d8b9924d2c11d9103e6ac8b0aebcd93586f5a5fd40bbff4451b6f79658c0229d448190acf9795ea3e3c81fbd2ed23a8a8836b51b8daa7df3c9bcdc
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.0.0-p648
1
+ 3.2.3
@@ -15,9 +15,17 @@ module Infield
15
15
  class << self
16
16
  attr_reader :queue
17
17
 
18
- def run(sleep_interval: 1, batch_size: 20)
18
+ def enqueue(message)
19
+ return if @queue.size >= @queue_limit
20
+ @queue << message
21
+ end
22
+
23
+ def run(sleep_interval: 5, batch_size: 10, queue_limit: 30)
19
24
  @queue ||= Queue.new
20
25
  @sleep_interval = sleep_interval
26
+ # Queue cannot be larger than this. If more than this number of messages come in
27
+ # before the next wake interval any extra are dropped
28
+ @queue_limit = queue_limit
21
29
  @batch_size = batch_size # send up to 20 messages to API at once
22
30
 
23
31
  Thread.new do
@@ -64,7 +72,7 @@ module Infield
64
72
  class << self
65
73
  def log(*messages, callstack: nil, validated: false)
66
74
  messages = messages.select(&method(:valid_message)) unless validated
67
- messages.each { |message| Runner.queue << Task.new(message, callstack) }
75
+ messages.each { |message| Runner.enqueue(Task.new(message, callstack)) }
68
76
  true
69
77
  end
70
78
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Infield
4
- VERSION = '0.1.5'
4
+ VERSION = '0.1.6'
5
5
  end
data/lib/infield.rb CHANGED
@@ -13,7 +13,7 @@ module Infield
13
13
  class << self
14
14
  attr_accessor :api_key, :repo_environment_id, :environment, :infield_api_url
15
15
 
16
- def run(api_key: nil, repo_environment_id: nil, environment: nil)
16
+ def run(api_key: nil, repo_environment_id: nil, environment: nil, sleep_interval: 5, batch_size: 10, queue_limit: 30)
17
17
  @api_key = api_key || ENV['INFIELD_API_KEY']
18
18
  @repo_environment_id = repo_environment_id
19
19
  @infield_api_url = ENV['INFIELD_API_URL'] || 'https://app.infield.ai'
@@ -21,7 +21,7 @@ module Infield
21
21
  raise 'repo_environment_id is required' unless @repo_environment_id
22
22
 
23
23
  @environment = environment || defined?(Rails) ? Rails.env : nil
24
- DeprecationWarning::Runner.run
24
+ DeprecationWarning::Runner.run(sleep_interval: sleep_interval, batch_size: batch_size, queue_limit: queue_limit)
25
25
  end
26
26
  end
27
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infield
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infield
@@ -17,9 +17,9 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
- - .rspec
21
- - .rubocop.yml
22
- - .ruby-version
20
+ - ".rspec"
21
+ - ".rubocop.yml"
22
+ - ".ruby-version"
23
23
  - CHANGELOG.md
24
24
  - LICENSE.txt
25
25
  - README.md
@@ -40,17 +40,16 @@ require_paths:
40
40
  - lib
41
41
  required_ruby_version: !ruby/object:Gem::Requirement
42
42
  requirements:
43
- - - '>='
43
+ - - ">="
44
44
  - !ruby/object:Gem::Version
45
45
  version: 2.0.0
46
46
  required_rubygems_version: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - '>='
48
+ - - ">="
49
49
  - !ruby/object:Gem::Version
50
50
  version: '0'
51
51
  requirements: []
52
- rubyforge_project:
53
- rubygems_version: 2.0.14.1
52
+ rubygems_version: 3.4.19
54
53
  signing_key:
55
54
  specification_version: 4
56
55
  summary: Send deprecation warnings to Infield