From 8a66432c9217ebd3b91892faac2c127988e3b3eb Mon Sep 17 00:00:00 2001 From: Robin Sonnabend <robin@fsmpi.rwth-aachen.de> Date: Thu, 3 Feb 2022 17:36:58 +0100 Subject: [PATCH] Update vampir-mitglieder Since uwsgi tasks are broken, use celery (with redis) instead --- uwsgi-python/tasks/apps/vampir-mitglieder.yml | 39 +++++++++++++++++++ .../apps/vampir-mitglieder-celery.service.j2 | 14 +++++++ .../templates/apps/vampir-mitglieder.j2 | 2 +- uwsgi-python/vars/vampir-mitglieder.yml | 4 +- 4 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 uwsgi-python/templates/apps/vampir-mitglieder-celery.service.j2 diff --git a/uwsgi-python/tasks/apps/vampir-mitglieder.yml b/uwsgi-python/tasks/apps/vampir-mitglieder.yml index 8b9227f..6a6ff66 100644 --- a/uwsgi-python/tasks/apps/vampir-mitglieder.yml +++ b/uwsgi-python/tasks/apps/vampir-mitglieder.yml @@ -1,5 +1,22 @@ --- +# https://github.com/ansible/ansible/issues/42983 +- name: ensure there exists a .ansible folder + file: + path: "{{app_path}}/.ansible" + state: directory + owner: "{{app_user}}" + group: "{{app_group}}" + +- name: ensure data model upgrades are applied # noqa 301 + command: "{{app_venv}}/bin/flask db upgrade" + args: + chdir: "{{app_path}}" + become: true + become_user: "{{app_user}}" + notify: + - "restart uwsgi instance {{app.instance}}" + - name: ensure we have a folder for invoices file: path: "{{ app_path }}/rechnungen" @@ -7,3 +24,25 @@ owner: "{{ app_user }}" group: "{{ app_group }}" mode: '0750' + +- name: ensure the celery unit file exists + template: + src: apps/vampir-mitglieder-celery.service.j2 + dest: "/etc/systemd/system/{{ app_name }}-celery.service" + owner: root + group: root + mode: '0644' + notify: + - reload systemd service files + - "restart uwsgi instance {{app.instance}}" + +- name: ensure the celery service is enabled + service: + name: "{{app_name}}-celery" + enabled: true + state: started + +- name: ensure the folder from above is not present anymore + file: + path: "{{app_path}}/.ansible" + state: absent diff --git a/uwsgi-python/templates/apps/vampir-mitglieder-celery.service.j2 b/uwsgi-python/templates/apps/vampir-mitglieder-celery.service.j2 new file mode 100644 index 0000000..338d34a --- /dev/null +++ b/uwsgi-python/templates/apps/vampir-mitglieder-celery.service.j2 @@ -0,0 +1,14 @@ +[Unit] +Description={{ app_name }}-Celery +After=network.target + +[Service] +User={{ app_user }} +Group={{ app_group }} +WorkingDirectory={{ app_path }} +Environment=VIRTUAL_ENV="{{ app_path }}" +ExecStart={{ app_venv }}/bin/celery -A app.celery worker --loglevel=DEBUG --concurrency={{ vampir_mitglieder_celery_concurrency }} +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/uwsgi-python/templates/apps/vampir-mitglieder.j2 b/uwsgi-python/templates/apps/vampir-mitglieder.j2 index b844ff3..99f0847 100644 --- a/uwsgi-python/templates/apps/vampir-mitglieder.j2 +++ b/uwsgi-python/templates/apps/vampir-mitglieder.j2 @@ -17,4 +17,4 @@ SENDER_MAIL_ADDRESS = "{{ app_sender_mail_address }}" MAIL_TIMEOUT = 10 MAIL_USE_LOCALTIME = True -NO_SPOOLER = False +CELERY_BROKER_URL = "{{ vampir_mitglieder_celery_broker }}" diff --git a/uwsgi-python/vars/vampir-mitglieder.yml b/uwsgi-python/vars/vampir-mitglieder.yml index 4e5c8d2..b09a469 100644 --- a/uwsgi-python/vars/vampir-mitglieder.yml +++ b/uwsgi-python/vars/vampir-mitglieder.yml @@ -39,5 +39,5 @@ app_mail_server: "mail.fsmpi.rwth-aachen.de" app_testing_mails: "vampir-vorstand@fsmpi.rwth-aachen.de" app_sender_mail_address: "vampir-vorstand@fsmpi.rwth-aachen.de" -app_spooler: true -app_spooler_dir: "{{app_path}}/spooler" +vampir_mitglieder_celery_broker: 'redis://localhost:6379/1' +vampir_mitglieder_celery_concurrency: 2 -- GitLab