Un'opzione consisterebbe nell'utilizzare un server WebSocket in parallelo con il server Django che dispone di un'API REST/Push, quindi eseguire push da Django semplicemente tramite HTTP/POST al server WebSocket, che a sua volta recapita i messaggi a tutti i client WebSocket connessi.
In questo modo, non è necessario apportare modifiche strutturali/tecniche alla tua app Django esistente, tuttavia disporre di una funzionalità push moderna e scalabile basata su WebSocket.
Per un servizio in hosting di cui sopra, darei un'occhiata a http://pusher.com.
Se si preferisce eseguire il proprio, vorrei dare un'occhiata a http://autobahn.ws, che viene distribuito come un dispositivo virtuale pronto per l'esecuzione (VMware, VirtualBox, Amazon EC2). Qui puoi trovare esempi di lavoro di REST/API https://github.com/tavendo/AutobahnPushPython
Disclaimer: Sono autore di Autobahn Open-source e lavoro per Tavendo, che offre Autobahn.ws (l'offerta commerciale basata su OSS Autobahn).
Tutto il mio sito è basato su django e Nginx, quindi immagino che non sia un modo efficiente per usare Tornado o twistato giusto? – Stan666
Perché non efficiente? Dipende dal tuo hardware?Con poco sforzo puoi avere un processo parallelo di tornado che gestisce alcune websocket. – hymloth
Scusa se non ho abbastanza familiarità con il tornado, intendi un server di tornado parallelo al django? Il mio primo pensiero è stato quello di farlo all'interno del Django, visto che c'è django-websocket che non è poi così male. – Stan666