philbot-scheduler 1.0.2 → 1.0.3

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
  SHA256:
3
- metadata.gz: f9879c87788e316b2206ebbfd94170264ec42e680fbe2d455d69b96ba7562e23
4
- data.tar.gz: 0c5cfdceb39e06a75e025653c20fd242bd1f39dc293120eb49f8efa66c8eaad6
3
+ metadata.gz: 11e4e60ac55f4299a9975d41f68a8e82a24499f5a04f58bb2195a8123dd2a450
4
+ data.tar.gz: 5c4f3f6b16cf9f6de5c8043fed3f23330b39459e33c60c695939c2a210ac8849
5
5
  SHA512:
6
- metadata.gz: bc09d80fa49c94896a9eb873a991cb87c6d3215f9b6021cc480c76c8d42c1ea3c7e2b230565ef770abcc9b144ae9c42961dfde925de0069a8b2c2efb7b31d1c1
7
- data.tar.gz: 29f9aa7f34f1e49f15e12a250b4961717c4605026ff9f8ab0bb221dad553c43f329d0abf57f29812d7792a7f6c91e1add98fde3f479e1af198ec88910da57355
6
+ metadata.gz: 885ae94f8903ed466358759ddcd4ddfaf556a80b3f928518f5c191f6caf259fa9a78980923e522eca2b3d25a69e37337ad3c6602704d842aed12ff6c54c16f88
7
+ data.tar.gz: 7c6053c8e8289c86e36858aa1138d27d3217ce66d9c9e2b505367b87011c0fab76b0dbe6fa83357af48e36fafd512e04a5e4acc17e8a30896bf0965ff62a30f7
@@ -1,67 +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
- def get_sleep_time(interval)
29
- time = Time.new
30
- sleep_time = 60 - time.sec
31
- if interval == 'minutely' then return sleep_time end
32
- sleep_time += (60 - time.min) * 60
33
- if interval == 'hourly' then return sleep_time end
34
- sleep_time += (24 - time.hour) * 60 * 60
35
- if interval == 'daily' then return sleep_time end
36
- sleep_time += (31 - time.day) * 24 * 60 * 60
37
- if interval == 'monthly' then return sleep_time end
38
- exit(1)
39
- end
40
-
41
- puts "running"
42
- threads = []
43
- File.open(ENV["CONFIG_FILE"]).readlines.map(&:chomp).each do |line|
44
- puts 'config ' + line
45
- tokens = line.split(/=/)
46
- if tokens.length != 2 then
47
- puts 'broken config'
48
- exit(1)
49
- end
50
- interval = tokens[0]
51
- url = tokens[1]
52
-
53
- threads << Thread.new {
54
- while true
55
- sleep(get_sleep_time(interval))
56
- puts url
57
- begin
58
- Net::HTTP.post(URI(url), '{}', { 'content-encoding' => 'identity', 'content-type' => 'application/json' })
59
- rescue
60
- end
61
- end
62
- }
63
- end
64
-
65
- threads.each do |thread|
66
- thread.join();
67
- 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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philbot-scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philipp Lengauer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-22 00:00:00.000000000 Z
11
+ date: 2022-12-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: ''
14
14
  email: p.lengauer@gmail.com
@@ -16,11 +16,11 @@ executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
- - scheduler.rb
20
- homepage:
19
+ - lib/scheduler.rb
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
@@ -35,8 +35,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
35
35
  - !ruby/object:Gem::Version
36
36
  version: '0'
37
37
  requirements: []
38
- rubygems_version: 3.3.5
39
- signing_key:
38
+ rubygems_version: 3.3.26
39
+ signing_key:
40
40
  specification_version: 4
41
41
  summary: ''
42
42
  test_files: []