An Ansible role to install a Celery worker.
Ubuntu 20.04+.
The Celery-using project itself has several requirements:
- It must be installable from a Git repository.
- To support projects installed solely from PyPI, please file an issue.
- It must be pip-installable.
- If it includes a
requirements.txt
file, that must list the requirement.
, to also install the project itself. - It must include
celery
as a requirement. - It must have a Celery app instance in an importable location.
parameter | required | default | comments |
---|---|---|---|
celery_app |
yes | The import path of the Celery project's app, as passed to -A or --app . |
|
celery_repository_url |
yes | The HTTP URL of the Git repository with the Celery project. | |
celery_repository_ref |
no | HEAD |
The Git ref to checkout when cloning the repository. |
celery_environment |
no | {} |
A mapping with environment variables for the Celery worker at runtime. |
A typical playbook using this role may look like:
- name: Deploy Celery worker
hosts: all
vars:
ansible_python_interpreter: auto
roles:
- role: girder.celery
vars:
celery_app: test_project.celery
celery_repository_url: https://github.com/girder/ansible-role-girder-celery.git
celery_environment:
DJANGO_STORAGE_BUCKET_NAME: "my-bucket"
A typical
Ansible Galaxy requirements.yml
file
should look like:
- src: girder.celery
version: master