[Python] thread o multiprocessing, vostra esperienza

Giampaolo Rodola' g.rodola a gmail.com
Dom 25 Ago 2013 14:43:47 CEST


2013/8/25 Manlio Perillo <manlio.perillo a gmail.com>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 25/08/2013 12:09, Giampaolo Rodola' ha scritto:
> > [...] L'approccio asincrono │ in genere la cosa pi indicata per
> > far scalare (di molto) applicativi di questo tipo ma a questo
> > livello (socket raw) forse Twisted & co. non forniscono strumenti
> > utili (potrei sbagliarmi). In tal caso puoi usare direttamente
> > epoll()
>
> epoll, fornisce il supporto per il polling, non di certo per i raw socket.
>

epoll(), select() e compagnia ti notificano quando è il caso di leggere e/o
scrivere da/su un file descriptor e il fatto che il socket sia raw non fa
alcuna differenza: è un fd tanto quanto un socket "classico".
Il vero problema nel caso del "ping" sono i permessi.


> Twisted fornisce proprio un supporto generico per il polling, e tanto
> altro.
>

Sicuramente, ma banalmente quello che si dovrebbe fare in questo caso
(problema di permessi a parte) è usare epoll()/select() prima di sendto() e
recvfrom() e fine della storia.
Se Twisted fornisce un'API per agganciare a posteriori un socket esistente
tanto meglio, ma il task mi pare talmente semplice che probabilmente non
vale neanche la pena tirarlo in ballo.


--- Giampaolo
https://code.google.com/p/pyftpdlib/
https://code.google.com/p/psutil/
https://code.google.com/p/pysendfile/
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130825/9f28bcdb/attachment.html>


Maggiori informazioni sulla lista Python