Il 15 dicembre 2017 16:39:29 CET, Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
ha scritto:
Il giorno 15 dic 2017, alle ore 16:33, Silvano Valleferro<s.valleferro@xxxxxxxxxxx> ha scritto:
esecuzione e svolge una serie di operazioni per l'acquisizione
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
automatica di documenti.
Ogni qualvolta effettua un ciclo positivo, cioè trova un documento daimportare, inserisce in alcune tabelle dei record che vengono
confermati, alla fine del ciclo con un db.commit()
anche i dati di un'altra tabella, che registra le operatività eseguite,
Ora, vorrei poter gestire, sempre all'interno dello stesso ciclo,
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