NewsBlur/ansible/roles/celery_task/tasks/main.yml
2021-02-25 11:34:40 -05:00

59 lines
1.9 KiB
YAML

---
- name: Copy app secrets
copy:
src: /srv/secrets-newsblur/settings/docker_settings.py
dest: /srv/newsblur/newsblur_web/local_settings.py
register: app_changed
- name: "Start docker containers"
become: yes
docker_container:
name: "{{ item.container_name }}"
image: newsblur/newsblur_python3
state: started
pull: yes
env:
DOCKERBUILD: ""
restart_policy: unless-stopped
command: "{{ item.command }}"
volumes:
- /srv/newsblur:/srv/newsblur
when: "item.container_name in inventory_hostname"
with_items:
- container_name: task-celery
command: "celery worker -A newsblur_web --loglevel=INFO -Q new_feeds,push_feeds,update_feeds"
- container_name: task-beat
command: "celery worker -A newsblur_web --loglevel=INFO -Q beat_feeds_task -c 1"
- container_name: task-search
command: "celery worker -A newsblur_web --loglevel=INFO -Q search_indexer -c 4"
- container_name: task-search
command: "celery worker -A newsblur_web --loglevel=INFO -Q search_indexer_tasker -c 2"
- container_name: task-work
command: "celery worker -A newsblur_web --loglevel=INFO -Q work_queue"
- name: Register celery_task in consul
tags: consul
become: yes
template:
src: consul_service.json
dest: /etc/consul.d/celery_task.json
notify:
- reload consul
when: "item.service_name in inventory_hostname"
with_items:
- service_name: task-celery
- service_name: task-beat
- service_name: task-search
- service_name: task-work
- name: Reload celery
debug:
msg: Reloading celery
notify: "reload {{ item.container_name }}"
when: app_changed.changed and item.container_name in inventory_hostname
with_items:
- container_name: task-celery
- container_name: task-beat
- container_name: task-search
- container_name: task-work
changed_when: app_changed.changed