[Zope-it] batch: domanda tosta
Glauco
glauco@allevatori.com
Tue, 11 Mar 2003 18:18:29 +0100
Guido Notari wrote:
>Pensavo anche io ad un meccanismo tipo FIFO, basato su di una tabella di
>Postgres.
>Ora, i problemi da risolvere fondamentalmente sono due: fare in modo che
>non ci siano conflitti nel riempire la tabella, e come gestire il processo
>che la svuota.
>Per quanto riguarda il riempimento della coda, devo far in modo che due
>request semi-contemporanee non richiedano entrambe di cominciare la stessa
>elaborazione. Questo, dopo aver controllato comunque che l'elaborazione
>stessa non e` ancora stata servita.
>Va poi gestito il processo che, svuotando la coda, esegue le elaborazioni.
>Direi che un cron job potrebbe essere un punto di partenza.
>
>Tu in pratica come hai gestito la cosa?
>
Non capisco il tuo dubbio , se n processi contemporaneamente richiedono
la stessa cosa avrai tre append nello spooler .
Il Demone o Cron che esegue fisicamente il pop preleva il primo, lo
elabora, il secondo e cosė via .. Hai serializzato il processo.
Questo il linea teorica del funzionamento della FIFO .
A questo punto devi decidere tu come gestire la concorrenza tra i
processi .
Considera che non č necessario utilizzare Postgres, io lo uso perchč
devo immagazzinare un mare di cose compreso un documento intero XML
formattato, se tu devi solo immagazzinare ad esempio URL e Parametri
urlencoded forse te la cavi con un file.
Imho il Database č pių sicuro.
cmq senza sapere l'entita delle richieste e lo stress HW č difficile
dare delle idee giuste
Ciao
Glauco