On 04/01/2014 06:44 PM, Daniele Varrazzo wrote:
Il problema di scalabilità che stiamo avendo è che i nostri nodi frontend fanno *tante cose* diverse, con diversi pattern di concorrenza (alcune richieste web che nascono e muoiono, alcuni greenlet a lunga durata, uno molto assetato di cpu...) Secondo me stiamo mettendo in crisi lo scheduler di greenlet con troppi lavori troppo eterogenei. Nell'ottica di suddividere i processi in oggetti più indipendenti un message broker come era orbited mi ci stava troppo bene (per esempio per mettere in un processo esterno quel greenlet assetato: potrebbe mandare i messaggi che genera direttamente alle pagine web passando per il broker e saltando il web server).
Non so quanto lo scenario sia vicino al tuo, comunque ti riassumo il mio orientamento per un sistema web a cui tra un po' dovrei iniziare a lavorare. Per l'esecuzione dei task (di vario tipo e durata) da parte del backend pensavo di affidarmi a celery, mentre per il monitoraggio dei task e la pubblicazione in generale, pensavo di usare socketio lato client e gevent-socketio lato server.
Se qualcuno ha suggerimenti o dritte da darmi, e' il benvenuto :) -- Marco Buttu INAF-Osservatorio Astronomico di Cagliari Via della Scienza n. 5, 09047 Selargius (CA) Phone: 070 711 80 217 Email: mbu...@oa-cagliari.inaf.it _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python