Module: LittleMonster::Core::Counters
- Defined in:
- lib/little_monster/core/counters.rb
Defined Under Namespace
Classes: DuplicatedCounterError, MissedCounterError
Instance Method Summary
collapse
Instance Method Details
#counter(counter_name) ⇒ Object
20
21
22
23
24
|
# File 'lib/little_monster/core/counters.rb', line 20
def counter(counter_name)
resp = LittleMonster::Core::API.get("/jobs/#{job_id}/counters/#{counter_name}", {}, critical: true)
raise MissedCounterError if resp.code == 404
resp.body
end
|
#counter_endpoint(name) ⇒ Object
26
27
28
|
# File 'lib/little_monster/core/counters.rb', line 26
def counter_endpoint(name)
"#{LittleMonster.api_url.chomp('/')}/jobs/#{job_id}/counters/#{name}"
end
|
#increase_counter(counter_name, unique_id, type, output = '') ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/little_monster/core/counters.rb', line 5
def increase_counter(counter_name, unique_id, type, output = '')
begin
resp = LittleMonster::Core::API.put(
"/jobs/#{job_id}/counters/#{counter_name}",
{ body: { type: type, unique_id: unique_id, output: output } },
critical: true
)
rescue LittleMonster::APIUnreachableError => e
logger.error "Could not increase counter #{counter_name}, Api unreachable"
raise e
end
true
end
|
#init_counters(*counter_names) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/little_monster/core/counters.rb', line 30
def init_counters(*counter_names)
counter_names.each do |counter_name|
resource = "/jobs/#{job_id}/counters"
values = { body: { name: counter_name } }
begin
res = LittleMonster::Core::API.post(resource, values, critical: true)
raise MissedCounterError, "Could not post to #{resource}" if !res.success? && res.code != 409 rescue LittleMonster::APIUnreachableError => e
logger.error "Could not init counter #{resource} with #{values} , Api unreachable"
raise e
end
end
true
end
|