From 4b3c507432d17f1991753ff526a5787dae202257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20M=C3=A9nager?= <herve.menager@pasteur.fr> Date: Mon, 13 Jan 2020 08:49:49 +0100 Subject: [PATCH] deploy celery with ansible, WIP WIP on #174 and #175 --- ansible/celery.service | 21 +++++++++++++++++++++ ansible/celeryd | 11 +++++++++++ ansible/deploy.yaml | 27 +++++++++++++++++++++++++-- 3 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 ansible/celery.service create mode 100644 ansible/celeryd diff --git a/ansible/celery.service b/ansible/celery.service new file mode 100644 index 00000000..2e1f4dcc --- /dev/null +++ b/ansible/celery.service @@ -0,0 +1,21 @@ +[Unit] +Description=Celery Service +After=network.target + +[Service] +Type=forking +User=jass +Group=nginx +EnvironmentFile=-/etc/default/ippidb-{{ http_port }}-celeryd +WorkingDirectory=/var/ippidb-{{ http_port }} +ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \ + -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \ + --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}' +ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \ + --pidfile=${CELERYD_PID_FILE}' +ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \ + -A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \ + --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}' + +[Install] +WantedBy=multi-user.target diff --git a/ansible/celeryd b/ansible/celeryd new file mode 100644 index 00000000..d5ff5f59 --- /dev/null +++ b/ansible/celeryd @@ -0,0 +1,11 @@ +CELERYD_NODES="worker" +CELERY_BIN="celery" +CELERY_APP="ippisite" +CELERYD_CHDIR="/var/ippidb-{{ http_port }}-celery" +CELERYD_OPTS="--time-limit=3000 --concurrency=1 --max-tasks-per-child=1" +CELERYD_LOG_FILE="/var/ippidb-{{ http_port }}-celery/celery%N.log" +CELERYD_PID_FILE="/var/ippidb-{{ http_port }}-celery/celery%N.pid" +CELERYD_LOG_LEVEL="DEBUG" +CELERYD_USER="" +CELERYD_GROUP="nginx" +CELERY_CREATE_DIRS=1 diff --git a/ansible/deploy.yaml b/ansible/deploy.yaml index 857e7bef..447d49fa 100644 --- a/ansible/deploy.yaml +++ b/ansible/deploy.yaml @@ -121,6 +121,24 @@ systemd: state=stopped name=ippidb-web #ignore fail (i.e. when service does not exist yet) ignore_errors: yes + - name: stop celery service + systemd: state=stopped name=celery enabled=true + ignore_errors: yes + # + # Set up celery service + # + - name: copy celeryd configuration file + copy: + src: celeryd + dest: /etc/default + owner: root + group: root + - name: copy celery systemd service + copy: + src: celery.service + dest: /lib/systemd/system/celery.service + owner: root + group: root # # Fetch/Update code and prep django app for publication # @@ -186,7 +204,7 @@ ('EMAIL_ADMIN', 'hmenager@pasteur.fr'), ] MANAGERS = [ - ('EMAIL_MANAGER', 'hmenager@pasteur.fr'), + ('EMAIL_MANAGER', 'ippidb@pasteur.fr'), ] LOGGING = { 'version': 1, @@ -290,4 +308,9 @@ # Start web server # - name: start iPPIDB service if relevant - systemd: state=started name=ippidb{{ http_port }}-web enabled=true \ No newline at end of file + systemd: state=started name=ippidb{{ http_port }}-web enabled=true + # + # Start celery service + # + - name: start celery service if relevant + systemd: state=started name=celery enabled=true daemon_reload=true -- GitLab