sql >> Database teknologi >  >> NoSQL >> Redis

Django Celery Elastic Beanstalk supervisor ingen sådan procesfejl

Ja, stien er ok:

command=/opt/python/run/venv/bin/celery worker -A wellfie --loglevel=INFO

Jeg har bemærket, at du har indstillet din PYTHONPATH-variabel to gange, ligesom du ville overskrive med eb-miljøegenskab? Når det er indstillet på ansøgning og derefter på ansøgning wellfie pakke.

Din logpost:

environment=
PYTHONPATH="/opt/python/current/app/:",
PATH="/opt/python/run/venv/bin/:%ENV_PATH)s",
RDS_PORT="5432",
PYTHONPATH="/opt/python/current/app/wellfie:",
REDIS_URL="bbbbb.bbbbb.0001.usw2.cache.amazonaws.com:6379",
RDS_DB_NAME="bbbdb",
DJANGO_SETTINGS_MODULE="wellfie.settings",
RDS_USERNAME="aaaa",
RDS_PASSWORD="bbbb",
RDS_HOSTNAME="bbbbb.bbbbb.us-west-2.rds.amazonaws.com"

Mit:

environment=
PYTHONPATH="/opt/python/current/app/:",
PATH="/opt/python/run/venv/bin/:%(ENV_PATH)s",
WEBSERVER="APACHE",
CNAME="xxxxx-prod-env",
PYCURL_SSL_LIBRARY="nss",
APP_ENV="prod"

Så jeg vil starte med at undersøge det. En anden ting at have i tankerne er, at hvis du bruger nogle AWS-tjenester som Redis, skal du have åben forbindelse på den med sikkerhedsgruppeindstillinger for den tjeneste, ellers vil du ikke være i stand til at oprette forbindelse.

Ting at have i tankerne:

  1. Hvis du spiller på instansen, så husk om virtualenv. Så du kører dine kommandoer som:

    cd /opt/python/current/app &&source /opt/python/run/venv/bin/activate &&python manage.py

  2. "ImportError:Intet modul med navnet 'wellfie'" kan ske én gang og være logget ind på celery-beat.log, celery-worker.log", da systemet starter, og processen muligvis ikke er klar endnu.

  3. ImportError('Intet modul ved navn xxxx.toi3pr.0001.usw2.cache.amazonaws.com',) ligner et pythoninitieringsproblem.

Rediger filen root_folder/django_app/__init__.py :

from __future__ import absolute_import, unicode_literals

# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from django_app.celery import app as celery_app

__all__ = ['celery_app']

Rettelsen var at ændre:

supervisorctl -c /opt/python/etc/supervisord.conf restart celeryd 

ind i

supervisorctl -c /opt/python/etc/supervisord.conf restart celeryd-worker
supervisorctl -c /opt/python/etc/supervisord.conf restart celeryd-beat



  1. MongoDB og CodeIgniter

  2. Hvordan fjerner du dubletter baseret på en nøgle i Mongodb?

  3. Forbinder du direkte til Redis med (klientsiden) javascript?

  4. Hvordan håndterer Redis Streams at bruge al tilgængelig hukommelse?