Commit e48399ba by John Jarvis

Merge pull request #381 from antoviaque/supervisor-xqueue

Move xqueue to supervisor
parents aed38103 e495268a
...@@ -39,6 +39,7 @@ XQUEUE_DJANGO_PASSWORD: 'password' ...@@ -39,6 +39,7 @@ XQUEUE_DJANGO_PASSWORD: 'password'
XQUEUE_RABBITMQ_USER: 'edx' XQUEUE_RABBITMQ_USER: 'edx'
XQUEUE_RABBITMQ_PASS: 'edx' XQUEUE_RABBITMQ_PASS: 'edx'
XQUEUE_RABBITMQ_HOSTNAME: 'localhost' XQUEUE_RABBITMQ_HOSTNAME: 'localhost'
XQUEUE_LANG: 'en_US.UTF-8'
XQUEUE_MYSQL_DB_NAME: 'xqueue' XQUEUE_MYSQL_DB_NAME: 'xqueue'
XQUEUE_MYSQL_USER: 'root' XQUEUE_MYSQL_USER: 'root'
......
- name: xqueue | stop xqueue - name: xqueue | stop xqueue
service: name=xqueue state=stopped supervisorctl: >
name=xqueue
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=stopped
tags: tags:
- xqueue
- deploy - deploy
- name: xqueue | start xqueue - name: xqueue | start xqueue
service: name=xqueue state=started supervisorctl: >
name=xqueue
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=started
tags: tags:
- xqueue
- deploy - deploy
- name: xqueue | restart xqueue - name: xqueue | restart xqueue
service: name=xqueue state=restarted supervisorctl: >
name=xqueue
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=restarted
tags: tags:
- xqueue
- deploy - deploy
- name: xqueue | restart xqueue consumer - name: xqueue | restart xqueue consumer
service: name=xqueue_consumer state=restarted supervisorctl: >
name=xqueue_consumer
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=restarted
# Stop xqueue service. # Stop xqueue service.
- name: xqueue | stop xqueue service - name: xqueue | stop xqueue service
service: name=xqueue state=stopped supervisorctl: >
name=xqueue
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=stopped
tags: tags:
- deploy - deploy
- name: xqueue | stop xqueue consumer service - name: xqueue | stop xqueue consumer service
service: name=xqueue_consumer state=stopped supervisorctl: >
name=xqueue_consumer
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=stopped
tags: tags:
- deploy - deploy
...@@ -21,6 +29,17 @@ ...@@ -21,6 +29,17 @@
tags: tags:
- deploy - deploy
- name: "xqueue | writing supervisor scripts - xqueue, xqueue consumer"
template: >
src={{ item }}.conf.j2 dest={{ supervisor_cfg_dir }}/{{ item }}.conf
owner={{ supervisor_user }} group={{ common_web_user }} mode=0644
with_items: ['xqueue', 'xqueue_consumer']
tags:
- deploy
- name: xqueue | reload supervisor to allow to start the new services
shell: "{{ supervisor_ctl }} -c {{ supervisor_cfg }} reload"
# Do A Checkout # Do A Checkout
- name: xqueue | git checkout xqueue repo into xqueue_code_dir - name: xqueue | git checkout xqueue repo into xqueue_code_dir
git: dest={{ xqueue_code_dir }} repo={{ xqueue_source_repo }} version={{ xqueue_version }} git: dest={{ xqueue_code_dir }} repo={{ xqueue_source_repo }} version={{ xqueue_version }}
...@@ -58,17 +77,20 @@ ...@@ -58,17 +77,20 @@
tags: tags:
- deploy - deploy
- name: xqueue | stop xqueue
service: name=xqueue state=stopped
tags:
- deploy
- name: xqueue | start xqueue - name: xqueue | start xqueue
service: name=xqueue state=started supervisorctl: >
name=xqueue
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=started
tags: tags:
- deploy - deploy
- name: xqueue | start xqueue consumer - name: xqueue | start xqueue consumer
service: name=xqueue_consumer state=started supervisorctl: >
name=xqueue_consumer
supervisorctl_path={{ supervisor_ctl }}
config={{ supervisor_cfg }}
state=started
tags: tags:
- deploy - deploy
...@@ -40,12 +40,6 @@ ...@@ -40,12 +40,6 @@
encoding=utf8 encoding=utf8
when: xqueue_create_db is defined and xqueue_create_db|lower == "yes" when: xqueue_create_db is defined and xqueue_create_db|lower == "yes"
- name: xqueue | creating xqueue upstart script
template: src=xqueue.conf.j2 dest=/etc/init/xqueue.conf mode=0640 owner=root group=adm
- name: xqueue | create xqueue consumer upstart script
template: src=xqueue_consumer.conf.j2 dest=/etc/init/xqueue_consumer.conf mode=0640 owner=root group=adm
- include: deploy.yml - include: deploy.yml
- name: xqueue | create a symlink for venv python - name: xqueue | create a symlink for venv python
......
#/etc/init/xqueue.conf [program:xqueue]
description "xqueue server"
author "edX <info@edx.org>"
respawn
respawn limit 3 30
env PID=/var/tmp/xqueue.pid
{% if ansible_processor|length > 0 %} {% if ansible_processor|length > 0 %}
env WORKERS={{ ansible_processor|length * 2 }} command={{ xqueue_venv_bin }}/gunicorn --preload -b {{ xqueue_gunicorn_host }}:{{ xqueue_gunicorn_port }} -w {{ ansible_processor|length * 2 }} --timeout=300 --pythonpath={{ xqueue_code_dir }} xqueue.wsgi
{% else %} {% else %}
env WORKERS=2 command={{ xqueue_venv_bin }}/gunicorn --preload -b {{ xqueue_gunicorn_host }}:{{ xqueue_gunicorn_port }} -w 2 --timeout=300 --pythonpath={{ xqueue_code_dir }} xqueue.wsgi
{% endif %} {% endif %}
env PORT={{ xqueue_gunicorn_port }}
env ADDRESS={{ xqueue_gunicorn_host }}
env LANG=en_US.UTF-8
env DJANGO_SETTINGS_MODULE=xqueue.aws_settings
env SERVICE_VARIANT="xqueue"
user={{ common_web_user }}
directory={{ xqueue_code_dir }}
environment=PID=/var/tmp/xqueue.pid,PORT={{ xqueue_gunicorn_port }},ADDRESS={{ xqueue_gunicorn_host }},LANG={{ XQUEUE_LANG }},DJANGO_SETTINGS_MODULE=xqueue.aws_settings,SERVICE_VARIANT="xqueue"
chdir {{ xqueue_code_dir }} stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
setuid {{ xqueue_user }} stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
exec {{ xqueue_venv_dir }}/bin/gunicorn --preload -b $ADDRESS:$PORT -w $WORKERS --timeout=300 --pythonpath={{ xqueue_code_dir }} xqueue.wsgi
# gunicorn [program:xqueue_consumer]
description "xqueue server" command={{xqueue_venv_bin}}/django-admin.py run_consumer --pythonpath={{xqueue_code_dir}} --settings=xqueue.aws_settings $WORKERS_PER_QUEUE
author "devops <devops@edx.org>"
start on runlevel [2345] user={{ common_web_user }}
stop on runlevel [!2345] directory={{ xqueue_code_dir }}
respawn environment=LANG={{ XQUEUE_LANG }},WORKERS_PER_QUEUE={{xqueue_env_config.XQUEUE_WORKERS_PER_QUEUE}},SERVICE_VARIANT="xqueue"
respawn limit 3 30
env LANG=en_US.UTF-8 stdout_logfile={{ supervisor_log_dir }}/%(program_name)-stdout.log
env WORKERS_PER_QUEUE={{xqueue_env_config.XQUEUE_WORKERS_PER_QUEUE}} stderr_logfile={{ supervisor_log_dir }}/%(program_name)-stderr.log
env SERVICE_VARIANT="xqueue"
chdir {{xqueue_code_dir}}
setuid {{ xqueue_user }}
exec {{xqueue_venv_dir}}/bin/django-admin.py run_consumer --pythonpath={{xqueue_code_dir}} --settings=xqueue.aws_settings $WORKERS_PER_QUEUE
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment