python3系とherokuでdjango channelsのデプロイ

django channelsのdeployingを見れば載ってる。

""" myproject/asgi.py """
import os
import django
from channels.routing import get_default_application


os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")
django.setup()
application = get_default_application()

まずはasgi.py。

Procfileは以下のように。

web: daphne -b 0.0.0.0 -p $PORT myproject.asgi:application -v2

たまたまネットサーフィンしてたらworkerつけなくても大丈夫だよって書いてあったのでこれで実行できた。 daphneだけ実行でオッケーっぽい。

あと、早くするならuvicornっていうのを使うといいらしいのでやってみたいと思う。軽量なasgiサーバーらしい。 アドオンはredisを入れ忘れないように。