Il 25/11/2013 15:05, Davide Moro ha scritto:
Il 25/11/2013 14:49, Yuri ha scritto:
Ciao,
forse mi sono spiegato male. Io, con un crontab, chiamo una mia
browser view. Questa browser view chiama un'altro server non gestito
da me ma nella stessa rete, per ricavare dei dati. La mia browser
view cicla su una lista, di circa 700 elementi, e per ogni valore fa
una chiamata. Volevo evitare di sovraccaricare l'altro server in quei
pochi minuti, e invece fare una chiamata ogni X secondi in modo da
non avere un picco di richieste.
Spero di esser stato più chiaro :-P
Ciao Yuri,
la sleep ci può stare in questo caso.
Il problema è che ho un thread occupato per mezz'ora circa nel fare solo
quello, di cui 20 minuti di sleep.
In alcuni casi si può decidere di delegare questo compito direttamente
a uno zeo client dedicato, fuori dal bilanciatore.
è la cosa migliore, in effetti. Vado per questa soluzione.
La mia domanda originale è comunque se uno sleep all'interno del codice
Plone può creare problemi, mi par di aver capito di no, nel senso che al
massimo tiene un thread occupato all'interno del client.
Puoi anche mettere un preambolo nella vista che fa terminare la
chiamata con un nulla di fatto se ti accorgi che una richiesta simile
è "running", in modo che non ci siano sovrapposizioni.
Per tale scopo puoi anche solo controllare se una certa property è
true o false o metodo simile.
Quando si parla di operazioni batch piuttosto lunghe consiglio di
mettere dei file di log chiari che identifichino bene quando parte una
procedura, quando finisce, se ci sono stati errori, un po' per tutto.
Ti sarà molto utile nel debugging.
Ciao,
davide
_______________________________________________
Plone-IT mailing list
plone...@lists.plone.org
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html