new-site/infra/ansible/roles/worker-crons/tasks/main.yml
justin f8cd37ac8c Initial commit — Performance West telecom compliance platform
Includes: API (Express/TypeScript), Astro site, Python workers,
document generators, FCC compliance tools, Canada CRTC formation,
Ansible infrastructure, and deployment scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 06:54:22 -05:00

43 lines
1.2 KiB
YAML

---
# worker-crons — deploy systemd .service + .timer pairs for every
# scheduled worker job. Each entry in `worker_crons` (defaults/main.yml)
# expands into /etc/systemd/system/{name}.{service,timer}.
- name: Deploy worker cron .service units
ansible.builtin.template:
src: cron.service.j2
dest: "/etc/systemd/system/{{ cron.name }}.service"
owner: root
group: root
mode: "0644"
loop: "{{ worker_crons }}"
loop_control:
loop_var: cron
notify: reload systemd
- name: Deploy worker cron .timer units
ansible.builtin.template:
src: cron.timer.j2
dest: "/etc/systemd/system/{{ cron.name }}.timer"
owner: root
group: root
mode: "0644"
loop: "{{ worker_crons }}"
loop_control:
loop_var: cron
notify: reload systemd
# Force the daemon-reload BEFORE enabling, or `systemctl enable` won't
# see the new .timer units.
- name: Reload systemd now (so enables below see new units)
ansible.builtin.systemd:
daemon_reload: true
- name: Enable + start worker cron timers
ansible.builtin.systemd:
name: "{{ cron.name }}.timer"
enabled: true
state: started
loop: "{{ worker_crons }}"
loop_control:
loop_var: cron