From b69b8677e615c9c396583556f26d4717d4a6a615 Mon Sep 17 00:00:00 2001
From: Hinrikus Wolf <hinrikus@fsmpi.rwth-aachen.de>
Date: Sun, 3 Jul 2022 20:59:21 +0200
Subject: [PATCH] update alumnigraphi system

it now uses celery and redis
---
 uwsgi-python/tasks/apps/alumnigraph.yml         | 17 +++++++++++++++++
 .../apps/alumnigraph-celery.service.j2          | 14 ++++++++++++++
 uwsgi-python/templates/apps/alumnigraph.j2      |  1 +
 uwsgi-python/vars/alumnigraph.yml               |  3 +++
 4 files changed, 35 insertions(+)
 create mode 100644 uwsgi-python/templates/apps/alumnigraph-celery.service.j2

diff --git a/uwsgi-python/tasks/apps/alumnigraph.yml b/uwsgi-python/tasks/apps/alumnigraph.yml
index a3ec7ee..eff9d1a 100644
--- a/uwsgi-python/tasks/apps/alumnigraph.yml
+++ b/uwsgi-python/tasks/apps/alumnigraph.yml
@@ -19,6 +19,23 @@
   notify:
     - "restart uwsgi instance {{app.instance}}"
 
+- name: ensure the celery unit file exists
+  template:
+    src: apps/alumnigraph-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"
diff --git a/uwsgi-python/templates/apps/alumnigraph-celery.service.j2 b/uwsgi-python/templates/apps/alumnigraph-celery.service.j2
new file mode 100644
index 0000000..0bcc872
--- /dev/null
+++ b/uwsgi-python/templates/apps/alumnigraph-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={{ alumni_graph_celery_concurrency }}
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/uwsgi-python/templates/apps/alumnigraph.j2 b/uwsgi-python/templates/apps/alumnigraph.j2
index 31ba5f4..01938be 100644
--- a/uwsgi-python/templates/apps/alumnigraph.j2
+++ b/uwsgi-python/templates/apps/alumnigraph.j2
@@ -23,3 +23,4 @@ SEND_INVITATIONS = {{ alumni_graph_send_invitation }}
 SENTRY_URL = "{{ alumni_graph_sentry_url }}"
 BABEL_DEFAULT_LOCALE = "DE"
 
+CELERY_BROKER_URL = {{ alumni_graph_celery_broker }}
diff --git a/uwsgi-python/vars/alumnigraph.yml b/uwsgi-python/vars/alumnigraph.yml
index 330e513..c648103 100644
--- a/uwsgi-python/vars/alumnigraph.yml
+++ b/uwsgi-python/vars/alumnigraph.yml
@@ -47,3 +47,6 @@ alumni_graph_sentry_url: ""
 # Do not define if there is no authentication needed
 # alumni_graph_mail_user: None
 # alumni_graph_mail_pass: None
+#
+alumni_graph_celery_broker: '"redis://localhost:6379/2"'
+alumni_graph_celery_concurrency: 2
-- 
GitLab