[genropy] Re: Transazioni in genropy

  • From: Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
  • To: genropy <genropy@xxxxxxxxxxxxx>
  • Date: Fri, 15 Dec 2017 16:39:29 +0100



Il giorno 15 dic 2017, alle ore 16:33, Silvano Valleferro 
<s.valleferro@xxxxxxxxxxx> ha scritto:

Ciao a tutti,

Ho un dubbio in merito alla gestione delle transazioni in genropy.

Ho un programma che funziona a mo' di servizio, cioè è sempre in esecuzione e 
svolge una serie di operazioni per l'acquisizione automatica di documenti.
Ogni qualvolta effettua un ciclo positivo, cioè trova un documento da 
importare, inserisce in alcune tabelle dei record che vengono confermati, 
alla fine del ciclo con un db.commit()

Ora, vorrei poter gestire, sempre all'interno dello stesso ciclo, anche i 
dati di un'altra tabella, che registra le operatività eseguite, a cui dovrei 
fare il commit in modo autonomo da quello precedente (come fosse un'altra 
transazione), senza che mi chiuda anche quella principale.
E' possibile ?
E come ?


Ciao Silvano

genropy supporta questa funzionalità.

invece di scrivere ad esempio

mytable.insert(x)

with self.db.tempEnv(connectionName='foo'):
     mytable.insert(x)
     self.db.commit()


Ovviamente nella with puoi mettere più istruzioni che accedano al db.
Quindi è come se aprissi una sottotransazione con il suo commit.

Ovviamente nel caso di rollback della transazione primaria
quella secondaria resterebbe comunque già committatas quindi
occhio a gestire la cosa


Ciao

G

Other related posts: