2017-05-02 3 views
1

私は既存のwsgiの実装と並んでasgiを使用してHerokuにDjango Channelsをデプロイしようとしています。次の設定でherokuにasgiとwsgiの両方を配備できますか?Herokuでasgiとwsgiをデプロイする

マイprocfile:

web: gunicorn chatbot.wsgi --preload --log-file - 
daphne: daphne chat.asgi:channel_layer --port $PORT --bind 0.0.0.0 -v2 
chatworker: python manage.py runworker --settings=chat.settings -v2 

マイasgi.pyファイル:

import os 
from channels.asgi import get_channel_layer 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "chat.settings") 

channel_layer = get_channel_layer() 

マイwsgi.pyファイル:settings.pyで

import os 

from django.core.wsgi import get_wsgi_application 
from whitenoise.django import DjangoWhiteNoise 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "chat.settings") 

application = get_wsgi_application() 
application = DjangoWhiteNoise(application) 

そして、私のチャネル層:

CHANNEL_LAYERS = { 
    'default': { 
     "BACKEND": "asgi_redis.RedisChannelLayer", 
     "CONFIG": { 
      "hosts": [os.environ.get('REDIS_URL', 'redis://localhost:6379')] 
     }, 
     'ROUTING': 'chat.routing.channel_routing', 
    } 
} 

答えて

1

これは他の誰かに関連する場合があるので、これを考えてください。 asgiを使うのが最善の解決策でした。静的ファイルを提供するためのソリューションとして

web: daphne chat.asgi:channel_layer --port $PORT --bind 0.0.0.0 -v2 
chatworker: python manage.py runworker --settings=chat.settings -v2 

、私はStaticFileConsumerを含めるように私のrouting.pyファイルを更新:私procfileはされて終わりました。

+0

'-v2'が達成していることは何ですか? –

関連する問題