philbot-scheduler 1.0.3 → 1.0.4

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/scheduler.rb +69 -69
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 11e4e60ac55f4299a9975d41f68a8e82a24499f5a04f58bb2195a8123dd2a450
4
- data.tar.gz: 5c4f3f6b16cf9f6de5c8043fed3f23330b39459e33c60c695939c2a210ac8849
3
+ metadata.gz: 29dbd5c51b63544bfeb02480794b2e5df58b199ba1de468255769e8469684dcd
4
+ data.tar.gz: 3a5924a610e7ace5677158bc611f57ff06b506d6420638f1dd654bec50da7e42
5
5
  SHA512:
6
- metadata.gz: 885ae94f8903ed466358759ddcd4ddfaf556a80b3f928518f5c191f6caf259fa9a78980923e522eca2b3d25a69e37337ad3c6602704d842aed12ff6c54c16f88
7
- data.tar.gz: 7c6053c8e8289c86e36858aa1138d27d3217ce66d9c9e2b505367b87011c0fab76b0dbe6fa83357af48e36fafd512e04a5e4acc17e8a30896bf0965ff62a30f7
6
+ metadata.gz: 887e6ac247600ab74aa5d14a591d6eb6a4ea15b9bb4d9865f76f958757a8ff31e702438915d57d6e54db76baed036b7f7bf48e1a3cb07e39b462d67ff893d558
7
+ data.tar.gz: 85cf46e1b907f1ec8225dca62553cf00d6ce489e6cf6d85dfe0622c9e50ec12373eef20141221f713aab69f5a18c1a9b5d0a77537f8301407b44aef8061eed33
data/lib/scheduler.rb CHANGED
@@ -1,69 +1,69 @@
1
- # require 'opentelemetry/sdk'
2
- # require 'opentelemetry/exporter/otlp'
3
- require 'uri'
4
- require 'net/http'
5
-
6
- # OpenTelemetry::SDK.configure do |c|
7
- # c.service_name = ENV['SERVICE_NAME']
8
- # c.service_version = ENV['SERVICE_VERSION']
9
- # c.use_all
10
- # for name in ["dt_metadata_e617c525669e072eebe3d0f08212e8f2.properties", "/var/lib/dynatrace/enrichment/dt_metadata.properties"] do
11
- # begin
12
- # c.resource = OpenTelemetry::SDK::Resources::Resource.create(Hash[*File.read(name.start_with?("/var") ? name : File.read(name)).split(/[=\n]+/)])
13
- # rescue
14
- # end
15
- # end
16
- # c.add_span_processor(
17
- # OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
18
- # OpenTelemetry::Exporter::OTLP::Exporter.new(
19
- # endpoint: ENV['OPENTELEMETRY_TRACES_API_ENDPOINT'],
20
- # headers: {
21
- # "Authorization": "Api-Token " + ENV['OPENTELEMETRY_TRACES_API_TOKEN']
22
- # }
23
- # )
24
- # )
25
- # )
26
- # end
27
-
28
- $stdout.sync = true
29
-
30
- def get_sleep_time(interval)
31
- time = Time.new
32
- sleep_time = 60 - time.sec
33
- if interval == 'minutely' then return sleep_time end
34
- sleep_time += (60 - time.min) * 60
35
- if interval == 'hourly' then return sleep_time end
36
- sleep_time += (24 - time.hour) * 60 * 60
37
- if interval == 'daily' then return sleep_time end
38
- sleep_time += (31 - time.day) * 24 * 60 * 60
39
- if interval == 'monthly' then return sleep_time end
40
- exit(1)
41
- end
42
-
43
- puts "running"
44
- threads = []
45
- File.open(ENV["CONFIG_FILE"]).readlines.map(&:chomp).each do |line|
46
- puts 'config ' + line
47
- tokens = line.split(/=/)
48
- if tokens.length != 2 then
49
- puts 'broken config'
50
- exit(1)
51
- end
52
- interval = tokens[0]
53
- url = tokens[1]
54
-
55
- threads << Thread.new {
56
- while true
57
- sleep(get_sleep_time(interval))
58
- puts url
59
- begin
60
- Net::HTTP.post(URI(url), '{}', { 'content-encoding' => 'identity', 'content-type' => 'application/json' })
61
- rescue
62
- end
63
- end
64
- }
65
- end
66
-
67
- threads.each do |thread|
68
- thread.join();
69
- end
1
+ # require 'opentelemetry/sdk'
2
+ # require 'opentelemetry/exporter/otlp'
3
+ require 'uri'
4
+ require 'net/http'
5
+
6
+ # OpenTelemetry::SDK.configure do |c|
7
+ # c.service_name = ENV['SERVICE_NAME']
8
+ # c.service_version = ENV['SERVICE_VERSION']
9
+ # c.use_all
10
+ # for name in ["dt_metadata_e617c525669e072eebe3d0f08212e8f2.properties", "/var/lib/dynatrace/enrichment/dt_metadata.properties"] do
11
+ # begin
12
+ # c.resource = OpenTelemetry::SDK::Resources::Resource.create(Hash[*File.read(name.start_with?("/var") ? name : File.read(name)).split(/[=\n]+/)])
13
+ # rescue
14
+ # end
15
+ # end
16
+ # c.add_span_processor(
17
+ # OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
18
+ # OpenTelemetry::Exporter::OTLP::Exporter.new(
19
+ # endpoint: ENV['OPENTELEMETRY_TRACES_API_ENDPOINT'],
20
+ # headers: {
21
+ # "Authorization": "Api-Token " + ENV['OPENTELEMETRY_TRACES_API_TOKEN']
22
+ # }
23
+ # )
24
+ # )
25
+ # )
26
+ # end
27
+
28
+ $stdout.sync = true
29
+
30
+ def get_sleep_time(interval)
31
+ time = Time.new
32
+ sleep_time = 60 - time.sec
33
+ if interval == 'minutely' then return sleep_time end
34
+ sleep_time += (60 - time.min) * 60
35
+ if interval == 'hourly' then return sleep_time end
36
+ sleep_time += (24 - time.hour) * 60 * 60
37
+ if interval == 'daily' then return sleep_time end
38
+ sleep_time += (31 - time.day) * 24 * 60 * 60
39
+ if interval == 'monthly' then return sleep_time end
40
+ exit(1)
41
+ end
42
+
43
+ puts "running"
44
+ threads = []
45
+ File.open(ENV["CONFIG_FILE"]).readlines.map(&:chomp).each do |line|
46
+ puts 'config ' + line
47
+ tokens = line.split(/=/)
48
+ if tokens.length != 2 then
49
+ puts 'broken config'
50
+ exit(1)
51
+ end
52
+ interval = tokens[0]
53
+ url = tokens[1]
54
+
55
+ threads << Thread.new {
56
+ while true
57
+ sleep(get_sleep_time(interval))
58
+ puts url
59
+ begin
60
+ Net::HTTP.post(URI(url), '{}', { 'content-encoding' => 'identity', 'content-type' => 'application/json' })
61
+ rescue
62
+ end
63
+ end
64
+ }
65
+ end
66
+
67
+ threads.each do |thread|
68
+ thread.join();
69
+ end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philbot-scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philipp Lengauer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2022-12-25 00:00:00.000000000 Z
@@ -17,10 +17,10 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - lib/scheduler.rb
20
- homepage:
20
+ homepage:
21
21
  licenses: []
22
22
  metadata: {}
23
- post_install_message:
23
+ post_install_message:
24
24
  rdoc_options: []
25
25
  require_paths:
26
26
  - lib
@@ -36,7 +36,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
36
36
  version: '0'
37
37
  requirements: []
38
38
  rubygems_version: 3.3.26
39
- signing_key:
39
+ signing_key:
40
40
  specification_version: 4
41
41
  summary: ''
42
42
  test_files: []