Невозможно аутентифицировать задачи сельдерея с контейнером RedisPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно аутентифицировать задачи сельдерея с контейнером Redis

Сообщение Anonymous »

Первоначально я использовал Redis, установленные локально без какого -либо пароля , а задачи сельдерея работали нормально.

Код: Выделить всё

PASSWORD
) Использование флага -requirepass . С тех пор мои задачи сельдерея не выполняют аутентификацию с помощью контейнера Redis.

Код: Выделить всё

celery.py

Код: Выделить всё

import os
from celery import Celery
from dotenv import load_dotenv

load_dotenv()

# Redis password (currently hardcoded for testing)
redis_password = "PASSWORD"

# Debugging
print(f"Redis password: {redis_password}")

app = Celery(
'connectors',
broker=f'redis://:{redis_password}@localhost:6380/0',
backend=f'redis://:{redis_password}@localhost:6380/0',
include=['connectors.tasks.cricket_tasks']
)

# Load custom configuration
app.config_from_object('connectors.tasks.celeryconfig')

if __name__ == '__main__':
app.start()
< /code>

 config (celeryconfig.py
)

Код: Выделить всё

from celery.schedules import crontab
from dotenv import load_dotenv

load_dotenv()

redis_password = "PASSWORD"

# Debugging
print(f"config password: {redis_password}")

broker_url = f'redis://:{redis_password}@localhost:6380/0'
result_backend = f'redis://:{redis_password}@localhost:6380/0'

accept_content = ['json']
result_accept_content = ['json']
task_serializer = 'json'

enable_utc = False
timezone = 'Asia/Kolkata'

task_time_limit = 300

task_annotations = {
'*': {'rate_limit': '20/s'},
'tasks.add': {'rate_limit': '10/s', 'time_limit': 60},
}

beat_schedule = {
'run-daily-match-scheduler': {
'task': 'connectors.tasks.cricket_tasks.run_match_scraper',
'schedule': crontab(hour=8, minute=0),
},
'run-daily-table': {
'task': 'connectors.tasks.cricket_tasks.schedule_today_table',
'schedule': crontab(minute=30, hour=23),
},
'run-daily-mvp': {
'task': 'connectors.tasks.cricket_tasks.schedule_today_mvp',
'schedule': crontab(minute=30, hour=23),
},
'run-daily-scorecard': {
'task': 'connectors.tasks.cricket_tasks.schedule_today_scorecard',
'schedule': crontab(minute=30, hour=23),
},
'run-daily-btb': {
'task': 'connectors.tasks.cricket_tasks.schedule_today_btb',
'schedule': crontab(minute=30, hour=23),
},
}
< /code>

 docker compose (docker-compose.yml
)

Код: Выделить всё

services:
qdrant:
image: qdrant/qdrant:latest
restart: always
container_name: qdrant
ports:
- 6333:6333
- 6334:6334
expose:
- 6333
- 6334
- 6335
configs:
- source: qdrant_config
target: /qdrant/config/production.yaml
volumes:
- ./qdrant_data:/qdrant/storage

redis:
image: redis:latest
hostname: redis
ports:
- "6379:6380"
command: ["redis-server", "--requirepass", "PASSWORD"]

configs:
qdrant_config:
content: |
log_level: INFO
< /code>
Я попытался запустить своего работника сельдерея, используя команду: < /p>
celery -A connectors.tasks.cricket_tasks worker --loglevel=info
< /code>
Показывает правильно печатанный пароль: < /p>
Redis password: PASSWORD
config password: PASSWORD
< /code>
и успешно обнаруживает задачи: < /p>
[tasks]
. connectors.tasks.cricket_tasks.run_match_scraper
. connectors.tasks.cricket_tasks.schedule_today_btb
. connectors.tasks.cricket_tasks.schedule_today_matches
. connectors.tasks.cricket_tasks.schedule_today_mvp
. connectors.tasks.cricket_tasks.schedule_today_scorecard
. connectors.tasks.cricket_tasks.schedule_today_table
. connectors.tasks.cricket_tasks.test_task
< /code>
Однако я получаю следующую ошибку: < /p>
[2025-04-20 12:32:30,349: ERROR/MainProcess] consumer: Cannot connect to redis://localhost:6379/0: Connection closed by server..
Trying again in 2.00 seconds... (1/100)
Итак, я попытался установить пароль на моем экземпляре локального redis и повторно, но все еще получил одинаковую ошибку. 6380 . Тем не менее, я столкнулся с той же проблемой-работники сельдерея не смогли аутентифицировать.docker exec -it backend-redis-1 redis-cli
127.0.0.1:6379> auth PASSWORD
OK
127.0.0.1:6379> ping
PONG
< /code>
Redis правильно ответил, подтверждая, что он работает, и пароль правильный. < /p>
Несмотря на все это, сельдерей все еще не может аутентифицировать. < /p>


Подробнее здесь: https://stackoverflow.com/questions/795 ... -container
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»