--- - name: Copy common secrets copy: src: /srv/secrets-newsblur/settings/common_settings.py dest: /srv/newsblur/newsblur_web/local_settings.py register: app_changed - name: Copy task env copy: src: /srv/secrets-newsblur/settings/task_env.py dest: /srv/newsblur/newsblur_web/task_env.py - name: Add SERVER_NAME to task env lineinfile: path: /srv/newsblur/newsblur_web/task_env.py line: 'SERVER_NAME = "{{ inventory_hostname }}"' - name: "Start docker containers" become: yes docker_container: name: "{{ item.container_name }}" image: newsblur/newsblur_python3 state: started pull: yes container_default_behavior: no_defaults env: DOCKERBUILD: "" restart_policy: always network_mode: host command: "{{ item.command }}" volumes: - /srv/newsblur:/srv/newsblur - /etc/hosts:/etc/hosts 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,search_indexer" - container_name: task-work command: "celery worker -A newsblur_web --loglevel=INFO -Q beat_feeds_task,work_queue,cron_queue" tags: - start - name: Restart docker to force docker container settings to hold become: yes service: name: docker state: restarted tags: - never - restart - 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-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-work changed_when: app_changed.changed