> > There's not individual documentation for every situation because people's > choice of webserver and their OS versions and environments differ. If you > tell me what you're using I can try and provide some hints or links to > examples.
I thought it would be easy now, since I understand the concept better, but it still wasn't easy. >From django channels documentation > > the ideal thing is to be able to look for the Upgrade: WebSocket header > and distinguish connections by this So wha I need is in pseudo code, if Upgrade: WebSocket is present, hand over requests to asgi (darphene) else hand over requests to wsgi (uwsgi) I failed to find an example. So yes, please let me know how to do the dual setup with nginx in the front. I found https://www.nginx.com/blog/websocket-nginx/ but not readily applicable because the example there seems to proxy every requests. 2017년 1월 19일 목요일 오전 3시 40분 0초 UTC+9, Andrew Godwin 님의 말: > > > > On Wed, Jan 18, 2017 at 12:33 AM, Dev App <[email protected] > <javascript:>> wrote: > >> >> I hope there 's a documentation how to do "running-asgi-alongside-wsgi" >> https://channels.readthedocs.io/en/stable/deploying.html#running-asgi-alongside-wsgi >> (I tried google, but none found for how to do it) >> >> I'm just afraid to hand over every request to asgi which I don't know >> much about. >> > > There's not individual documentation for every situation because people's > choice of webserver and their OS versions and environments differ. If you > tell me what you're using I can try and provide some hints or links to > examples. > > >> >> I have another question. >> >> I'd like to send notification to websocket client when some signal >> (post-save, etc) occurs. >> >> For instance, if user-a starts following user-b (post-save signal >> occurs), (and this happens over wsgi, normal django), >> I'd like to send notification to user-b through websocket. >> >> Is the above usage possible with wsgi/asgi dual setup? >> >> > Yes, the dual setup still lets you send messages to channels from WSGI > workers, just not act on them. > > >> >> I didn't fully understand interface-server/channel-backend/workers >> concept. >> A single image could help people like me. >> >> I wonder if the following is correct? >> >> nginx --- wsgi -------------- django >> / >> nginx --- asgi --- redis ---/ >> >> asgi is interface-server >> redis is channel-backend >> django is workers >> >> > That's not quite right, but close - the ASGI and WSGI workers live in > different places, because the ASGI ones are a separate process using > runworker and the WSGI ones run inside your WSGI server, and both can talk > to the channel layer (redis in your example). > > Any Python code can send to a channel - WSGI workers, management commands, > etc. You can just only act on messages on channels inside workers or async > code you write yourself. > > Andrew > -- 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/3e352bf8-0ced-4ac3-94e3-fa28ced84d66%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

