philbot-scheduler 1.0.2 → 1.0.3

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: 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: []