Celery не работает на экземпляре EC2 в производстве

Я пытался развернуть django appllication на aws ec2, я успешно развернул его до сих пор, за исключением того, что заставил celery работать, я попробовал протестировать celery worker, пытаясь временно запустить его в shell с помощью этой команды:

celery -A ReelShopBackend worker -l INFO

который работает локально, а также в docker, но когда я запускаю его на экземпляре ec2, он выдает такую ошибку:

Traceback (most recent call last):
  File "/home/ubuntu/Renv/bin/celery", line 8, in <module>
    sys.exit(main())
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/__main__.py", line 15, in main
    sys.exit(_main())
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/bin/celery.py", line 217, in main
    return celery(auto_envvar_prefix="CELERY")
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/bin/base.py", line 134, in caller
    return f(ctx, *args, **kwargs)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/bin/worker.py", line 343, in worker
    worker = app.Worker(
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/worker/worker.py", line 99, in __init__
    self.setup_instance(**self.prepare_args(**kwargs))
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/worker/worker.py", line 120, in setup_instance
    self._conninfo = self.app.connection_for_read()
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/app/base.py", line 808, in connection_for_read
    return self._connection(url or self.conf.broker_read_url, **kwargs)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/celery/app/base.py", line 867, in _connection
    return self.amqp.Connection(
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/kombu/connection.py", line 181, in __init__
    if not get_transport_cls(transport).can_parse_url:
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/kombu/transport/__init__.py", line 85, in get_transport_cls
    _transport_cache[transport] = resolve_transport(transport)
  File "/home/ubuntu/Renv/lib/python3.10/site-packages/kombu/transport/__init__.py", line 66, in resolve_transport
    raise KeyError(f'No such transport: {transport}')
KeyError: 'No such transport: '

Я предполагаю, что он почему-то не видит мою конфигурацию redis, которую я уже настроил в settings.py:

CELERY_BROKER_URL = 'rediss://reelshop-redis.qmdpe.ng.0001.use1.cache.amazonaws.com:6379'
CELERY_RESULT_BACKEND ='rediss://reelshop-redis.qmdpe.ng.0001.use1.cache.amazonaws.com:6379'

получил url redis из службы кластера elastic cache redis и могу получить доступ к redis из redis-cli в моем экземпляре ec2, но celery все еще не видит никакого значения.

Вернуться на верх