Я пытаюсь начать с воздушного потока на AWS. Мой веб-сервер и планировщик работают нормально, но у меня странная ошибка при запуске рабочей задачи.
В качестве небольшой сводки моего окружения:
- Redis через AWS Elasticache
- Postgres через AWS RDS
- Рабочий | Планировщик | Веб-сервер как контейнеры ECS в экземпляре EC2
В определении задачи работника переменной среды REDIS_HOST задается значение RedisEndpoint. Значение этого выглядит хорошо в облачной информации. Я также проверил значение URL в работнике. Это идентично. Шаблон выглядит так:
redis://name-redis.somechars.somenumbers.euc1.cache.amazonaws.com:6379/1
Журнал работника:
[2020-04-14 15:00:56,827] {settings.py:253} INFO - settings.configure_orm(): Using pool settings. pool_size=5, max_overflow=10, pool_recycle=1800, pid=1
[2020-04-14 15:00:57,854: CRITICAL/MainProcess] Unrecoverable error: ValueError("invalid literal for int() with base 10: '80eec47a9eecc='")
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/celery/worker/worker.py", line 205, in start
self.blueprint.start(self)
File "/usr/local/lib/python3.7/site-packages/celery/bootsteps.py", line 115, in start
self.on_start()
File "/usr/local/lib/python3.7/site-packages/celery/apps/worker.py", line 139, in on_start
self.emit_banner()
File "/usr/local/lib/python3.7/site-packages/celery/apps/worker.py", line 154, in emit_banner
' \n', self.startup_info(artlines=not use_image))),
File "/usr/local/lib/python3.7/site-packages/celery/apps/worker.py", line 217, in startup_info
results=self.app.backend.as_uri(),
File "/usr/local/lib/python3.7/site-packages/celery/backends/base.py", line 138, in as_uri
url = maybe_sanitize_url(self.url or '')
File "/usr/local/lib/python3.7/site-packages/kombu/utils/url.py", line 119, in maybe_sanitize_url
return sanitize_url(url, mask)
File "/usr/local/lib/python3.7/site-packages/kombu/utils/url.py", line 112, in sanitize_url
return as_url(*_parse_url(url), sanitize=True, mask=mask)
File "/usr/local/lib/python3.7/site-packages/kombu/utils/url.py", line 79, in url_to_parts
parts.port,
File "/usr/local/lib/python3.7/urllib/parse.py", line 169, in port
port = int(port, 10)
ValueError: invalid literal for int() with base 10: '80eec47a9eecc='
Я не могу воспроизвести эту ошибку в моей docker среде тестирования, и я надеюсь, что кто-то из вас может быть подсказка для меня.
Заранее спасибо за вашу помощь!