Каждый раз, когда я вызываю конечную точку API, использующую Celery, я получаю:
ERROR:celery.backends.redis:Connection to Redis lost: Retry (0/20) now.
Я не понимаю, потому что на моей локальной машине все работает, но не на Heroku.
Я настроил среду REDIS_URL переменную и проверил, что хост Redis AWS также работает на моем локальном компьютере.
Я не могу понять, в чем проблема.
Кроме того, когда я отправляю свой код в Heroku, я вижу это в журналах:
Connected to rediss://:**@ec2-34-194-16-21.compute-1.amazonaws.com:11930//
но когда я звоню на свою конечную точку, я получаю это
ERROR:celery.backends.redis:Connection to Redis lost: Retry (0/20) now.
Вот фрагмент кода.
celery_app.py
from celery import Celery
import ssl
def make_celery(app=None):
celery = Celery(
app.import_name if app else "celery_app",
broker=app.config.get('CELERY_BROKER_URL', 'redis://localhost:6379/0') if app else 'redis://localhost:6379/0',
backend=app.config.get('result_backend', 'redis://localhost:6379/0') if app else 'redis://localhost:6379/0'
)
if app:
celery.conf.update(app.config)
# Configure SSL for broker and backend if using rediss://
if celery.conf.broker_url.startswith('rediss://'):
celery.conf.update(
broker_use_ssl={
'ssl_cert_reqs': ssl.CERT_NONE # Enforce SSL validation
}
)
if celery.conf.result_backend.startswith('rediss://'):
celery.conf.update(
redis_backend_use_ssl={
'ssl_cert_reqs': ssl.CERT_NONE # Enforce SSL validation
}
)
return celery
app.py
app = Flask(__name__)
app.config['CELERY_BROKER_URL'] = os.getenv('REDIS_URL', 'redis://localhost:6379/0')
app.config['result_backend'] = os.getenv('REDIS_URL', 'redis://localhost:6379/0')
# Initialize Celery with Flask app
celery = make_celery(app)
Подробнее здесь: https://stackoverflow.com/questions/793 ... -on-heroku
Как я могу подключиться к Celery/Redis на Heroku? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка с Celery+S3 celery.Exceptions.ImproperlyConfigured: отсутствует имя сегмента
Anonymous » » в форуме Python - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-