Проблема с выгрузкой django-channels на heroku

Как я понял из ответа команды heroku logs --tail, daphne запускается, и далее после обращения к asgi.py вызову application = get_asgi_application() все падает.

вот ответ heroku logs --tail:

2020-11-21T05:41:14.092715+00:00 heroku[web.1]: State changed from crashed to starting

2020-11-21T05:41:19.822514+00:00 heroku[web.1]: Starting process with command `daphne chatproject.chatproject.asgi:application --port 15334 --bind 0.0.0.0 -v2`

2020-11-21T05:41:22.391227+00:00 app[web.1]: 2020-11-21 05:41:22,391 INFO     Adding $DATABASE_URL to default DATABASE Django setting.

2020-11-21T05:41:22.391491+00:00 app[web.1]: 2020-11-21 05:41:22,391 INFO     Adding $DATABASE_URL to TEST default DATABASE Django setting.

2020-11-21T05:41:22.391609+00:00 app[web.1]: 2020-11-21 05:41:22,391 INFO     Applying Heroku Staticfiles configuration to Django settings.

2020-11-21T05:41:22.391808+00:00 app[web.1]: 2020-11-21 05:41:22,391 INFO     Applying Heroku ALLOWED_HOSTS configuration to Django settings.

2020-11-21T05:41:22.391914+00:00 app[web.1]: 2020-11-21 05:41:22,391 INFO     Applying Heroku logging configuration to Django settings.

2020-11-21T05:41:22.394661+00:00 app[web.1]: Traceback (most recent call last):

2020-11-21T05:41:22.394668+00:00 app[web.1]: File "/app/.heroku/python/bin/daphne", line 8, in <module>

2020-11-21T05:41:22.394812+00:00 app[web.1]: sys.exit(CommandLineInterface.entrypoint())

2020-11-21T05:41:22.394831+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/daphne/cli.py", line 191, in entrypoint

2020-11-21T05:41:22.395043+00:00 app[web.1]: cls().run(sys.argv[1:])

2020-11-21T05:41:22.395046+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/daphne/cli.py", line 252, in run

2020-11-21T05:41:22.395243+00:00 app[web.1]: application = import_by_path(args.application)

2020-11-21T05:41:22.395249+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/daphne/utils.py", line 12, in import_by_path

2020-11-21T05:41:22.395358+00:00 app[web.1]: target = importlib.import_module(module_path)

2020-11-21T05:41:22.395378+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module

2020-11-21T05:41:22.395515+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)

2020-11-21T05:41:22.395541+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import

2020-11-21T05:41:22.395675+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load

2020-11-21T05:41:22.395796+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

2020-11-21T05:41:22.395886+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

2020-11-21T05:41:22.395996+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 678, in exec_module

2020-11-21T05:41:22.396123+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

2020-11-21T05:41:22.396216+00:00 app[web.1]: File "./chatproject/chatproject/asgi.py", line 16, in <module>

2020-11-21T05:41:22.396338+00:00 app[web.1]: application = get_asgi_application()

2020-11-21T05:41:22.396339+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/asgi.py", line 12, in get_asgi_application

2020-11-21T05:41:22.396441+00:00 app[web.1]: django.setup(set_prefix=False)

2020-11-21T05:41:22.396461+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/__init__.py", line 24, in setup

2020-11-21T05:41:22.396573+00:00 app[web.1]: apps.populate(settings.INSTALLED_APPS)

2020-11-21T05:41:22.396575+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/registry.py", line 91, in populate

2020-11-21T05:41:22.396723+00:00 app[web.1]: app_config = AppConfig.create(entry)

2020-11-21T05:41:22.396725+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/config.py", line 90, in create

2020-11-21T05:41:22.396874+00:00 app[web.1]: module = import_module(entry)

2020-11-21T05:41:22.396875+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module

2020-11-21T05:41:22.397018+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level)

2020-11-21T05:41:22.397037+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 994, in _gcd_import

2020-11-21T05:41:22.397173+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 971, in _find_and_load

2020-11-21T05:41:22.397245+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked

2020-11-21T05:41:22.397332+00:00 app[web.1]: ModuleNotFoundError: No module named 'core'

2020-11-21T05:41:22.550040+00:00 heroku[web.1]: Process exited with status 1

2020-11-21T05:41:22.589401+00:00 heroku[web.1]: State changed from starting to crashed

routing.py в корневой директории проекта

from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
from channels.security.websocket import AllowedHostsOriginValidator
import core.routing

application = ProtocolTypeRouter({
    'websocket': AllowedHostsOriginValidator(
        AuthMiddlewareStack(
            URLRouter(
                core.routing.websocket_urlpatterns
            )
        ),
    ),
})

asgi.py

import os

from django.core.asgi import get_asgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'chatproject.chatproject.settings')

application = get_asgi_application()

Procfile

web: daphne chatproject.chatproject.asgi:application --port $PORT --bind 0.0.0.0 -v2

структура проекта (так как я думаю что возможен неправильный импорт)

.
├── chatproject
│   ├── asgi.py
│   ├── __init__.py
│   ├── routing.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── consumers.py
│   ├── forms.py
│   ├── __init__.py
│   ├── migrations
│   │   ├── 0001_initial.py
│   │   ├── 0002_remove_room_owner.py
│   │   ├── 0003_remove_profile_image.py
│   │   └── __init__.py
│   ├── models.py
│   ├── routing.py
│   ├── signals.py
│   ├── templates
│   │   └── core
│   │       ├── index.html
│   │       ├── room.html
│   │       └── users
│   │           ├── login.html
│   │           ├── logout.html
│   │           ├── profile.html
│   │           └── register.html
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── db.sqlite3
├── manage.py
├── static-files
│   ├── favicon.ico
│   ├── main.js
│   ├── rsocket.js
│   └── style.css
├── staticfiles
└── templates
    └── base.html

Ошибка выглядит так как будто я неправильно импортировал core модуль routings.py корневой директории проекта. но изменения этого импорта приводит к ошибке. замечу что на localhost все работает.


Ответы (0 шт):