[genropy] Re: Transazioni in genropy

  • From: Giovanni Porcari <giovanni.porcari@xxxxxxxxx>
  • To: genropy <genropy@xxxxxxxxxxxxx>
  • Date: Mon, 18 Dec 2017 10:17:38 +0100



Il giorno 18 dic 2017, alle ore 09:11, Silvano Valleferro 
<s.valleferro@xxxxxxxxxxx> ha scritto:


----- Il 15-dic-17, alle 19:27, Gollum1 gollum1.smeagol1@xxxxxxxxx ha scritto:

| 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:
|>> 
|>> 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

| Se non ricordo male, questo che hai descritto, è l'implementazione della 
tabella
| di log delle operazioni, in cui anche il rilascio della principale sarebbe
| comunque un commit neo lug.
| --
| Gollum1
| Tesssoro, dov'è il mio tesssoro...

| Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità e gli
| errori (maledetto correttore automatico).

Grazie Giovanni,

Oggi provo.
Ma vedendo quello che scrive Gollum1 esiste in genropy anche un log delle 
operazioni ?
Mi sono perso qualcosa?



Ciao Silvano

gollum aveva fatto su mia indicazione una tabella di log di un sistema di 
importazioni complesse.

In ogni caso in genropy esiste il modo di abilitare un log su tabelle di system 
relativo
a tutte le sessioni degli operatori, alle connessioni aperte e alle pagine 
aperte.

Per abilitarlo basta settare nelle preferenze.

Se sei interessato ti posso dare dettagli.

Ciao

G






Other related posts: