Vai al contenuto

Gestione DB Areagate

Per collegare il gestionale Area con Areagate si utilizza un database PostgreSQL le cui tabelle sono sincronizzate tramite lo scheduler AGLANCIO e i programmi SWN*.

Configurazioni di base

Gruppo Parametro Note
abilita attiva-areaapp "Pulsante di accensione". Replicato su ARPAZIEN campo RAZI_ATTIVA_SINCRO
areaapp cod-azienda Codice azienda
areaapp db-conn-string Stringa di connessione al database
areaapp agg-postgres-online Abilita/disabilita aggiornamento in tempo reale
areaapp aglancio-attivo Abilita la nuova procedura di sincronizzazione (default "N")

Pannello di controllo (GESSTPRC)

Griglia di controllo dei processi di sincronizzazione. Ogni riga corrisponde a un processo (una tabella o un insieme di tabelle correlate).

Colonna Contenuto Modificabile?
Nome Nome del processo
Descrizione Descrizione breve del processo
Istanza Numero istanza. Se diversificato, definisce quanti processi in parallelo possono essere eseguiti. Per ogni istanza va attivato un apposito processo di esecuzione Si
Attivo? Attiva/disattiva il singolo processo Si
Direzione Direzione aggiornamento (le modalita' "I" e "E" valgono solo per processi bidirezionali)
Timer Tempo di attesa tra 2 schedulazioni dello stesso processo, in minuti (1-99999999) Si
Forzo schedulazione Fa partire immediatamente la schedulazione, una tantum Si
Data/ora ultima schedulazione Data/ora dell'ultima schedulazione del processo
Data/ora prossima schedulazione Data/ora della prossima schedulazione pianificata
In corso? Indica se il processo e' in esecuzione
N.Errori Numero di errori segnalati nell'ultima esecuzione
Messaggio Ultimo messaggio di errore segnalato
Livello Log Livello di log previsto sul processo Si
Ultimo aggiornamento Data/ora ultimo aggiornamento (solo per processi con export) Si
Limita righe Se > 0, limita l'elaborazione alle prime N righe. Utile in fase di impostazione iniziale o per distribuire il carico Si
Limita errori Se > 0, limita alle prime N segnalazioni di errore. Utile in fase di test Si

Tabelle di gestione

  • ARPAZIEN — Record di controllo azienda: sincronizzazione attiva (RAZI-SINCRO-ATTIVA), data/ora keep-alive
  • ARPPROC — Processi di sincronizzazione (tabella di sistema sul DB PostgreSQL, univoca per tutte le aziende)
  • ARPSTPRC — Stato processi di sincronizzazione, gestita su ambiente di produzione o da funzione su Areagate

Ricerca dati di accesso

Ogni programma SWN* che deve aprire il DB di Areagate non cerca le configurazioni direttamente, ma interroga un apposito sottoprogramma che restituisce la stringa di connessione. La connessione puo' anche essere passata in input dal programma chiamante, in tal caso viene usata senza effettuare la chiamata.

Questo meccanismo permette di centralizzare il reindirizzamento del DB in futuro, modificando solo il sottoprogramma.

Esecutore processi (AGLANCIO)

Programma senza interfaccia, strutturato per rimanere residente finche' il flag RAZI_ATTIVA_SINCRO non viene abbassato.

Caratteristiche:

  • Viene lanciato con un numero di istanza: scorre l'elenco dei processi collegati all'istanza e controlla se e' arrivato il momento dell'esecuzione
  • All'inizio di ogni ciclo e prima dell'esecuzione di ogni processo, aggiorna data/ora keep-alive su ARPAZIEN
  • A regime viene lanciato con un processo NON THIN, da crontab su Linux o da un eseguibile servizio su Windows

Caratteristiche dei singoli processi SWN*

  • Nessuna interfaccia o interazione con il video
  • Ricerca connessione DB: i dati di accesso devono essere restituiti dall'apposito sottoprogramma
  • Gestione log di processo, con attivazione in funzione del livello previsto
  • Ogni messaggio viene rediretto sul log usando l'apposita variabile di configurazione
  • Aggiornamento dei dati sulla tabella "Pannello di controllo"
  • Aggiornamento del timestamp di keep-alive
  • Possibilita' di esecuzione "atomica": aggiornamento di un singolo elemento se eseguito dal programma di gestione

Monitoraggio processi

Il processo AGLANCIO viene eseguito da un motore esterno (ZCRON o PgAgent), che ogni N minuti tenta il rilancio se risulta non attivo.

Su ARPAZIEN e' presente l'informazione keep-alive che permette a un demone esterno di verificare se il processo e' attivo e funzionante. Viene aggiornata da:

  • AGLANCIO: al termine di ogni ciclo di controllo
  • AGLANCIO: prima/dopo l'esecuzione di un singolo processo attivo
  • SWN*: se l'esecuzione e' lunga, ogni 1 minuto deve aggiornare il keep-alive (solo se lanciato da AGLANCIO, altrimenti risulterebbe un falso segnale)

Spegnimento e riattivazione

Da gestionale

  1. Disattivare la configurazione attiva-areaapp
  2. Alla successiva esecuzione di AGLANCIO, viene esportata la configurazione e il sistema si ferma
  3. Per riattivare: riattivare la configurazione

Da Areagate

Agisce su un flag separato RAZI-SWITCH-ONOFF su ARPAZIEN, per non interferire con il flag di configurazione del gestionale:

Evento ATTIVA-AREAAPP RAZI-ATTIVA-SINCRO RAZI-SWITCH-ONOFF
Sistema spento "N" " " " "
Attivazione da configurazione "S" " " " "
AGLANCIO avviato, sistema operativo "S" "S" " "
Areagate richiede spegnimento "S" "S" "OFF"
AGLANCIO rileva richiesta, si ferma "N" "N" " "
Areagate richiede accensione "N" "N" "ON"
AGLANCIO rileva richiesta, si riattiva "S" "S" " "

Programmi correlati

Nome Descrizione
GESSTPRC Pannello di controllo Areagate — configurazione, attivazione e controllo delle sincronizzazioni
AGLANCIO Esecuzione processi di sincronizzazione con Areagate — attivato da PgAgent/crontab