community.general.gunicorn – Run gunicorn with various settings.

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.gunicorn.

Synopsis

  • Starts gunicorn with the parameters specified. Common settings for gunicorn configuration are supported. For additional configuration use a config file See https://gunicorn-docs.readthedocs.io/en/latest/settings.html for more options. It’s recommended to always use the chdir option to avoid problems with the location of the app.

Requirements

The below requirements are needed on the host that executes this module.

  • gunicorn

Parameters

Parameter Choices/Defaults Comments
app
string / required
The app module. A name refers to a WSGI callable that should be found in the specified module.

aliases: name
chdir
path
Chdir to specified directory before apps loading.
config
path
Path to the gunicorn configuration file.

aliases: conf
pid
path
A filename to use for the PID file. If not set and not found on the configuration file a tmp pid file will be created to check a successful run of gunicorn.
user
string
Switch worker processes to run as this user.
venv
path
Path to the virtualenv directory.

aliases: virtualenv
worker
string
    Choices:
  • sync
  • eventlet
  • gevent
  • tornado
  • gthread
  • gaiohttp
The type of workers to use. The default class (sync) should handle most "normal" types of workloads.

Notes

Note

  • If not specified on config file, a temporary error log will be created on /tmp dir. Please make sure you have write access in /tmp dir. Not needed but will help you to identify any problem with configuration.

Examples

- name: Simple gunicorn run example
  community.general.gunicorn:
    app: 'wsgi'
    chdir: '/workspace/example'

- name: Run gunicorn on a virtualenv
  community.general.gunicorn:
    app: 'wsgi'
    chdir: '/workspace/example'
    venv: '/workspace/example/venv'

- name: Run gunicorn with a config file
  community.general.gunicorn:
    app: 'wsgi'
    chdir: '/workspace/example'
    conf: '/workspace/example/gunicorn.cfg'

- name: Run gunicorn as ansible user with specified pid and config file
  community.general.gunicorn:
    app: 'wsgi'
    chdir: '/workspace/example'
    conf: '/workspace/example/gunicorn.cfg'
    venv: '/workspace/example/venv'
    pid: '/workspace/example/gunicorn.pid'
    user: 'ansible'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
gunicorn
string
changed
process id of gunicorn

Sample:
1234


Authors

  • Alejandro Gomez (@agmezr)