2012-03-08 13 views
14

Stackless python permette di serializzare un compito (decapaggio) per l'esecuzione successiva, che non ha bisogno di essere sulla stessa macchina: http://www.stackless.com/wiki/PicklingQual è il metodo preferito per TCP/IP IPC in Python senza stack?

La mia domanda è non stackless python fornisce alcun tipo di IPC, middleware, broker di servizio o DDS tecnologia per spostare questi compiti decapitati tra processi e macchine? È davvero necessario utilizzare un socket qui?

hanno questo bel concetto di un canale: http://www.stackless.com/wiki/Pickling

sarebbe fantastico se i canali lavorato in macchine e si potrebbe semplice registrare un canale con un broker di servizi su una rete. In sostanza, permettendoti di spostare le tue attività su diversi servizi python senza stack posizionati su macchine diverse.

+0

Celery sembra essere un'opzione da cpython. Speravo in qualcosa di più specifico senza stack. Credo che entrambi abbiano un concetto di "compito", quindi avremmo bisogno di esplorare come questi si integrerebbero. –

+2

forse Pyro è più come quello che ti serve –

+1

Pyro è utile. Sento che è più una soluzione generale anche se come il sedano per il pezzo middleware. Il mio intento con questo post era quello di assicurarmi che non mi mancasse qualcosa dello stackless che permettesse una sorta di pianificazione delle attività distribuita fuori dalla scatola. Se non viene fornito nulla di nativo in stackless, accetterei una risposta che mostri una semplice integrazione del middleware python (celery, pyro, ecc.) Con attività senza stack. Personalmente, ho deciso di non usare lo stackless. –

risposta

4

Il progetto stacklessexamples elenca un numero di approcci da eseguire networking; il più strettamente correlato alla tua domanda potrebbe essere l'esempio di rpc.

+0

Stai per darti un +1 per la ricerca. Sto cercando qualcosa che sia un po 'più orientato ad esempio in una risposta e un calcolo più direttamente distribuito in natura ... in contrasto con solo un RPC. Voglio qualcosa che possa raggruppare il codice per l'esecuzione da remoto ed è ragionevole, cioè non marshal e socket ma più API basate su canale/broker/attività. Personalmente, ho deciso di non usare lo stackless, ma vorrei lasciarlo aperto per altri input o forse qualcuno fa una lib per questo tipo di funzionalità e vuole commentare. –

+0

Dopo due anni che ho lasciato questo aperto, ve lo darò. –