/ / Разлика между работниците от целина и Gunicorn? - django, nginx, gunicorn, работник

Разликата между работниците от целина и гундорина? - django, nginx, gunicorn, работник

Разполагам приложение Django с gunicorn, nginx и супервайзър.

Понастоящем работя на фона работници, които използват целина:

$ python manage.py celery worker

Това е моята конфигурация на gunicorn:

#!/bin/bash

NAME="hello_app"                                  # Name of the application
DJANGODIR=/webapps/hello_django/hello             # Django project directory
SOCKFILE=/webapps/hello_django/run/gunicorn.sock  # we will communicte using this unix socket
USER=hello                                        # the user to run as
GROUP=webapps                                     # the group to run as
NUM_WORKERS=3                                     # how many worker processes should Gunicorn spawn
DJANGO_SETTINGS_MODULE=hello.settings             # which settings file should Django use
DJANGO_WSGI_MODULE=hello.wsgi                     # WSGI module name

echo "Starting $NAME as `whoami`"

# Activate the virtual environment
cd $DJANGODIR
source ../bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DJANGODIR:$PYTHONPATH

# Create the run directory if it doesn"t exist
RUNDIR=$(dirname $SOCKFILE)
test -d $RUNDIR || mkdir -p $RUNDIR

# Start your Django Unicorn
# Programs meant to be run under supervisor should not daemonize themselves (do not use --daemon)
exec ../bin/gunicorn ${DJANGO_WSGI_MODULE}:application 
--name $NAME 
--workers $NUM_WORKERS 
--user=$USER --group=$GROUP 
--log-level=debug 
--bind=unix:$SOCKFILE

Има ли начин да се управляват работниците на фона на целина под gunicorn? Дали дори се отнася до едно и също нещо?

Отговори:

1 за отговор № 1

Целина и gunicorn са различни неща. Целина е асинхронен диспечер на задачите, а gunicorn е уеб сървър. Можете да ги изпълнявате като фонови задачи (celeryd да демонстрирам целина), просто ги нахрани с твоя проект django.

Често използван начин за тяхното използване ръководител, които ще се уверят, че ще продължат да работят, след като излезете от сървъра. Целичката github repo има някои примерни скриптове за използване на целина с ръководител.