Class: Wheneverd::Systemd::UnitNamer

Inherits:
Object
  • Object
show all
Defined in:
lib/wheneverd/systemd/unit_namer.rb

Overview

Computes stable unit IDs for jobs so units keep names across schedule reordering.

Class Method Summary collapse

Class Method Details

.stable_id_for(signature) ⇒ Object



55
56
57
# File 'lib/wheneverd/systemd/unit_namer.rb', line 55

def self.stable_id_for(signature)
  Digest::SHA256.hexdigest(signature).slice(0, 12)
end

.stable_ids_for(schedule) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/wheneverd/systemd/unit_namer.rb', line 9

def self.stable_ids_for(schedule)
  signatures = signatures_for(schedule)
  counts_by_signature = signatures.tally
  occurrences_by_signature = Hash.new(0)

  signatures.map do |sig|
    disambiguate(stable_id_for(sig), sig, counts_by_signature, occurrences_by_signature)
  end
end