philbot-scheduler 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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: []