Documentation

gunicorn - Run gunicorn with various settings.

New in version 2.4.

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.

Options

parameter required default choices comments
app
yes
The app module. A name refers to a WSGI callable that should be found in the specified module.

aliases: name
chdir
no
Chdir to specified directory before apps loading.
config
no
Path to the gunicorn configuration file.
pid
no
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
no
Switch worker processes to run as this user.
venv
no
Path to the virtualenv directory.

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

Examples

- name: simple gunicorn run example
  gunicorn:
    app: 'wsgi'
    chdir: '/workspace/example'

- name: run gunicorn on a virtualenv
  gunicorn:
    app: 'wsgi'
    chdir: '/workspace/example'
    venv: '/workspace/example/venv'

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

- name: run gunicorn as ansible user with specified pid and config file
  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 Return Values, the following are the fields unique to this module:

name description returned type sample
gunicorn
process id of gunicorn
changed string 1234


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.

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.