RuntimeError: нет запущенного цикла событий Djnago runworker
Я развертываю свое приложение Django на AWS Ec2 с Apache. У меня есть Asgi и WSGI. Я хочу запустить:
sudo daphne MyProject.asgi:channel_layer --port 80 --bind 0.0.0.0 -v2
sudo python manage.py runworker -v2
Но когда я запускаю рабочий, я получаю
Running worker for channels ['channels']
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/usr/lib/python3.8/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/usr/lib/python3.8/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python3.8/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/lib/python3.8/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/home/ubuntu/.local/lib/python3.8/site-packages/channels/management/commands/runworker.py", line 46, in handle
worker.run()
File "/usr/lib/python3.8/asgiref/server.py", line 59, in run
event_loop = get_running_loop()
RuntimeError: no running event loop
Я нашел следующее решение: Daphne + Channel v3 Deployment, RuntimeError: no running event loop. но у меня уже есть asgiref==3.3.4
1 Я нашел эту задачу на github: https://github.com/django/asgiref/issues/278, но не очень понял, как мне ее решить. 2-Я также не очень понял, что я должен сделать в Apache, чтобы отфильтровать запрос websocket от обычного запроса.
Если у кого-нибудь есть такая же проблема и он знает, как это сделать, я был бы очень признателен. Потому что у меня нет ни одной идеи, как ее решить.
Я просто решил эту проблему, удалив asgerif. Почему-то у меня было установлено 2 версии asgerif, и после удаления он работал нормально.