Skip to content

girder/ansible-role-girder-celery

Repository files navigation

girder.celery

Apache 2.0

An Ansible role to install a Celery worker.

Requirements

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.

Role Variables

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.

Example Playbook

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

License

Apache 2.0