set up cronjob and timer
This commit is contained in:
parent
cf62dcc707
commit
07a9f4bf4d
@ -7,6 +7,10 @@
|
|||||||
state: present
|
state: present
|
||||||
recreate: auto
|
recreate: auto
|
||||||
|
|
||||||
|
- name: Reload systemd
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
daemon_reload: true
|
||||||
|
|
||||||
# - name: Restart chill {{ item.chill_environment }}
|
# - name: Restart chill {{ item.chill_environment }}
|
||||||
# community.docker.docker_compose_v2:
|
# community.docker.docker_compose_v2:
|
||||||
# project_src: "{{ install_dir }}/{{ item['chill_environment'] }}"
|
# project_src: "{{ install_dir }}/{{ item['chill_environment'] }}"
|
||||||
|
@ -66,3 +66,11 @@
|
|||||||
group: "82"
|
group: "82"
|
||||||
mode: '0766'
|
mode: '0766'
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
|
# racing condition: on first execution, this is not available...
|
||||||
|
#
|
||||||
|
# - name: Ensure systemd timer for cronjob is up
|
||||||
|
# ansible.builtin.systemd_service:
|
||||||
|
# name: "chill-cronjob@{{ item['chill_environment'] }}.timer"
|
||||||
|
# state: restarted
|
||||||
|
# enabled: true
|
||||||
|
@ -40,6 +40,20 @@
|
|||||||
- name: Install traefik
|
- name: Install traefik
|
||||||
ansible.builtin.include_tasks: traefik.yml
|
ansible.builtin.include_tasks: traefik.yml
|
||||||
|
|
||||||
|
- name: Install systemd services
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: "systemd/{{ file }}"
|
||||||
|
dest: "/etc/systemd/system/{{ file }}"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0766'
|
||||||
|
notify: Reload systemd
|
||||||
|
loop:
|
||||||
|
- chill-cronjob@.service
|
||||||
|
- chill-cronjob@.timer
|
||||||
|
loop_control:
|
||||||
|
loop_var: file
|
||||||
|
|
||||||
- name: Install individual chill
|
- name: Install individual chill
|
||||||
ansible.builtin.include_tasks: chill/main.yml
|
ansible.builtin.include_tasks: chill/main.yml
|
||||||
with_items: "{{ chills }}"
|
with_items: "{{ chills }}"
|
||||||
|
@ -46,6 +46,7 @@ services:
|
|||||||
post_start:
|
post_start:
|
||||||
- command:
|
- command:
|
||||||
- rm
|
- rm
|
||||||
|
- -f
|
||||||
- "/var/www/app/config/packages/chill_doc_store.yaml"
|
- "/var/www/app/config/packages/chill_doc_store.yaml"
|
||||||
user: root
|
user: root
|
||||||
|
|
||||||
@ -67,17 +68,17 @@ services:
|
|||||||
- "-c"
|
- "-c"
|
||||||
- "touch /tmp/kill_me && bin/console messenger:stop-workers"
|
- "touch /tmp/kill_me && bin/console messenger:stop-workers"
|
||||||
|
|
||||||
|
cron:
|
||||||
|
<<: *defaultApp
|
||||||
|
entrypoint: "/usr/bin/env"
|
||||||
|
command: ["bin/console", "chill:cron-job:execute", "-v"]
|
||||||
|
|
||||||
{% if item.add_postgres %}
|
{% if item.add_postgres %}
|
||||||
|
|
||||||
database:
|
database:
|
||||||
image: "{{ database_image }}"
|
image: "{{ database_image }}"
|
||||||
env_file:
|
env_file:
|
||||||
- postgres.env
|
- postgres.env
|
||||||
environment:
|
|
||||||
POSTGRES_DB: ${POSTGRES_DB:-app}
|
|
||||||
# You should definitely change the password in production
|
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-!ChangeMe!}
|
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-app}
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./docker/db/data:/var/lib/postgresql/data:rw
|
- ./docker/db/data:/var/lib/postgresql/data:rw
|
||||||
networks:
|
networks:
|
||||||
|
9
templates/systemd/chill-cronjob@.service
Normal file
9
templates/systemd/chill-cronjob@.service
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Execute cron job for chill with environment %i
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User={{ as_user }}
|
||||||
|
ExecStart=/usr/bin/docker compose --file {{ install_dir }}/%i/compose.yaml up cron
|
||||||
|
Type=simple
|
||||||
|
# execute maximum 30 minutes
|
||||||
|
RuntimeMaxSec=1800
|
10
templates/systemd/chill-cronjob@.timer
Normal file
10
templates/systemd/chill-cronjob@.timer
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Run chill cron-jobs
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
Unit=chill-cronjob@%i.service
|
||||||
|
OnCalendar=*-*-* *:0,15,30,45:00
|
||||||
|
RandomizedDelaySec=60
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user