[Plone-IT] sleep in una browser view

Yuri yurj a alfa.it
Lun 25 Nov 2013 15:02:08 UTC


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
>



Maggiori informazioni sulla lista Plone-IT