Does it really use Django channels?  I am using Django channels and
following its suggested package:  ASGI provided by Daphne

Regards,

Aldian Fazrihady

On Sat, 23 Mar 2019, 07:58 Adam Zedan, <[email protected]> wrote:

> I am currently using Django channels for websocket communication. I read
> this
> <https://django-websocket-redis.readthedocs.io/en/latest/running.html#django-with-websockets-for-redis-behind-nginx-using-uwsgi>
>  article
> and it states that I should split the project into two uwsgi instances. It
> states that
>
> "The web server undertakes the task of dispatching normal requests to one
>> uWSGI instance and WebSocket requests to another one"
>
>
> Now I have two uwsgi instances running. This is how I am running both.
>
> This uwsgi handles the normal django site requests
> uwsgi --virtualenv /home/ec2-user/MyProjVenv --socket /home/ec2-user/
> MyProjVenv/MyProjWeb/site1.socket --chmod-socket=777 --buffer-size=32768
> --workers=5 --master --module main.wsgi
>
>
> This uwsgi handles the websocket requests
> uwsgi --virtualenv /home/ec2-user/MyProjVenv --http-socket /home/ec2-user/
> MyProjVenv/MyProjWeb/web.socket --gevent 1000 --http-websockets --workers=
> 2 --master --chmod-socket=777  --module main.wsgi_websocket
>
> Now the websocket uwsgi launches  main.wsgi_websocket
>
> The code for main.wsgi_websocket one is this
> import os
> import gevent.socket
> import redis.connection
> redis.connection.socket = gevent.socket
> os.environ.update(DJANGO_SETTINGS_MODULE='main.settings')
> from ws4redis.uwsgi_runserver import uWSGIWebsocketServer
> application = uWSGIWebsocketServer()
>
> Now after spinning up the two uwsgi instances I am able to access the
> website.The websocket uwsgi instance is also receiving data however I am
> not sure if its passing that data to the website uwsgi instance. I am using
> Django Channels here and this is the configuration I have specified in my
> settings for Django Channels
>
> CHANNEL_LAYERS = {
>     "default": {
>         "BACKEND": "asgi_redis.RedisChannelLayer",
>         "CONFIG": {
>             "hosts": [(redis_host, 6379)],
>         },
>        "ROUTING": "main.routing.channel_routing",
>     },
> }
>
> The channel routing is this
> channel_routing = [
>     include("chat.routing.websocket_routing", path=r"^/chat/stream"),
>     include("chat.routing.custom_routing"),
> ]
>
> and this is the websocket_routing which i have mentioned above
>
>
>
> websocket_routing = [
>     route("websocket.connect", ws_connect),
>
>
>     # Called when WebSockets get sent a data frame
>     route("websocket.receive", ws_receive),
>
>
>     # Called when WebSockets disconnect
>     route("websocket.disconnect", ws_disconnect),
> ]
>
> Now the problem is that my ws_receive is never called. If I test on my
> local dev machine using  "*ipaddress:8000/chat/stream*" this works
> perfectly fine however I have no clue why my receive is not being called
> when I use *ipadress:80/ws/ *. I am certain that my other uwsgi instance
> is getting that data but I dont know how to find out if its passing it to
> the other uwsgi instance of the djnago side and if it is then why is my
> receive not being called ?. Any suggestions on this would definitely help
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/4c4e57fa-c603-4be0-ba1a-cf1e9919fc09%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/4c4e57fa-c603-4be0-ba1a-cf1e9919fc09%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAN7EoAZ3eoAW8XBKjBP5W11%2BxpOmQFPZt9t86fSWNR8twQ7QRA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to