Class: Wheneverd::Systemd::Renderer
- Inherits:
-
Object
- Object
- Wheneverd::Systemd::Renderer
- Defined in:
- lib/wheneverd/systemd/renderer.rb
Overview
Renders a Wheneverd::Schedule into systemd units.
Each job in each entry becomes a *.service plus matching *.timer.
Unit file names are generated as:
wheneverd-<identifier>-<stable_id>.{service,timer}
The stable ID is derived from the job's trigger + command so reordering schedule blocks
does not rename units. If there are duplicate jobs with identical trigger + command, a stable
-N suffix is appended to avoid collisions.
The identifier is sanitized for use in filenames (invalid characters become -).
Uses UnitContentBuilder for generating unit file contents.
Constant Summary collapse
- MARKER_PREFIX =
"# Generated by wheneverd (wheneverd)"
Class Method Summary collapse
-
.render(schedule, identifier:) ⇒ Array<Unit>
Render a schedule to
systemdunits.
Class Method Details
.render(schedule, identifier:) ⇒ Array<Unit>
Render a schedule to systemd units.
38 39 40 41 42 |
# File 'lib/wheneverd/systemd/renderer.rb', line 38 def self.render(schedule, identifier:) validate_schedule(schedule) id = UnitPathUtils.sanitize_identifier(identifier) render_schedule(schedule, id) end |