Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Người giám sát Django Celery Elastic Beanstalk không có lỗi quy trình nào như vậy

Có, đường dẫn là ok:

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

Tôi nhận thấy rằng bạn đã đặt biến PYTHONPATH hai lần, giống như bạn muốn ghi đè lên thuộc tính môi trường eb? Sau khi nó được thiết lập trên ứng dụng và sau đó trên gói wellfie của ứng dụng.

Mục nhập nhật ký của bạn:

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"

Của tôi:

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"

Vì vậy, tôi sẽ bắt đầu với việc điều tra điều đó. Một điều khác cần lưu ý là nếu bạn sử dụng một số dịch vụ AWS như Redis, bạn cần kết nối mở trên đó với cài đặt nhóm bảo mật cho dịch vụ đó, nếu không bạn sẽ không thể kết nối.

Những điều cần lưu ý:

  1. Nếu bạn chơi trên instance, hãy nhớ về virtualenv. Vì vậy, bạn chạy các lệnh như:

    cd / opt / python / current / app &&source / opt / python / run / venv / bin / active &&python management.py

  2. "ImportError:Không có mô-đun nào có tên 'wellfie'" có thể xảy ra một lần và được đăng nhập vào celery-beat.log, celery-worker.log "vì hệ thống đang khởi động và quá trình có thể chưa sẵn sàng.

  3. ImportError ('Không có mô-đun nào có tên xxxx.toi3pr.0001.usw2.cache.amazonaws.com',) trông giống như sự cố khởi tạo python.

Sửa đổi tệp 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']

Đã sửa là thay đổi:

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

thành

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách nhận tất cả chìa khóa trong Redis

  2. Kết nối với Redis To Go bằng PHP

  3. Ứng dụng phần còn lại dữ liệu mùa xuân không nhận dữ liệu từ cơ sở dữ liệu sau khi triển khai bộ nhớ đệm redis

  4. Thiết lập Redis trên Web hài lòng

  5. Những trường hợp sử dụng nào mà Redis được ưu tiên hơn Aerospike?