Processi pianificati
A cosa serve
Sezione intitolata “A cosa serve”I processi pianificati (o job) sono attività automatiche che XIQUIL esegue in background su una schedulazione predefinita. Gestiscono operazioni ricorrenti come backup, notifiche, generazione di movimenti ricorrenti, snapshot del patrimonio e manutenzione dei dati.
Questa pagina documenta ogni job: cosa tocca, cosa NON tocca, quando gira e cosa succede se lo disattivi.
Processi pianificati
Sezione intitolata “Processi pianificati”Notifiche giornaliere
Sezione intitolata “Notifiche giornaliere”| Campo | Valore |
|---|---|
| ID | notifiche_giornaliere |
| Orario | Ogni giorno alle 08:00 UTC |
| Tocca | Tabella notifiche, tabella notification_recipients |
| Non tocca | Uscite, entrate, scadenze, fondi, transazioni |
Controlla le scadenze in arrivo (entro i giorni di anticipo configurati) e quelle già scadute, invia promemoria agli utenti e rimuove le notifiche più vecchie dei giorni di retention configurati.
Se disattivato: gli utenti non ricevono promemoria automatici sulle scadenze. Le scadenze continuano a esistere e vengono comunque mostrate nel Calendario e nello Scadenzario — ma nessun avviso proattivo.
Rinnovo certificato TLS
Sezione intitolata “Rinnovo certificato TLS”| Campo | Valore |
|---|---|
| ID | rinnovo_certificato |
| Orario | Ogni giorno alle 02:00 UTC |
| Tocca | File /app/data/certs/ |
| Non tocca | Dati applicativi, DB |
Controlla la scadenza del certificato TLS auto-generato e lo rigenera se mancano meno di 30 giorni. Attivo solo per installazioni che usano il certificato auto-generato (la maggioranza delle installazioni Docker locali).
Se disattivato: il certificato auto-generato scade dopo 365 giorni e il browser mostra un errore di sicurezza. Se usi un certificato esterno (Let’s Encrypt via Traefik), questo job non è necessario.
Backup database
Sezione intitolata “Backup database”| Campo | Valore |
|---|---|
| ID | backup_database |
| Orario | Ogni giorno alle 02:00 UTC |
| Tocca | Directory /app/backups/ |
| Non tocca | Dati applicativi, struttura DB |
Esegue un dump completo del database PostgreSQL (pg_dump -Fc) con una strategia di retention GFS a 4 livelli:
- Hot: tutti i backup degli ultimi 3 giorni
- Daily: un backup per giorno degli ultimi 7 giorni
- Weekly: un backup per settimana degli ultimi 30 giorni
- Monthly: un backup per mese degli ultimi 90 giorni
Salta automaticamente se il database non ha avuto modifiche dall’ultimo backup (rilevato tramite WAL LSN).
Compressione documenti importati
Sezione intitolata “Compressione documenti importati”| Campo | Valore |
|---|---|
| ID | compress_imported_documents |
| Orario | Ogni ora |
| Tocca | File immagini in /app/data/uploads/ |
| Non tocca | DB, uscite, entrate, PDF XML |
Comprime in background le immagini importate dopo la conferma, usando compressione visivamente lossless per upload da mobile e lossy per web. Riduce lo spazio occupato dagli allegati senza impattare la qualità percepita.
Se disattivato: le immagini restano nella dimensione originale. Non impatta il funzionamento dell’app, solo lo spazio disco usato.
Riepilogo settimanale email
Sezione intitolata “Riepilogo settimanale email”| Campo | Valore |
|---|---|
| ID | riepilogo_settimanale |
| Orario | Ogni lunedì alle 08:00 UTC |
| Tocca | Invio email (aiosmtplib) |
| Non tocca | Dati applicativi |
Invia un riepilogo settimanale via email agli utenti che lo hanno abilitato nelle preferenze notifiche. Include uscite, entrate e scadenze degli ultimi 7 giorni.
Se disattivato (o se email non configurata): nessun riepilogo viene inviato. Le notifiche in-app non sono influenzate.
Validazione licenza online
Sezione intitolata “Validazione licenza online”| Campo | Valore |
|---|---|
| ID | validazione_licenza_online |
| Orario | Ogni giorno alle 06:00 UTC |
| Tocca | Record licenza in DB (aggiornamento JWT) |
| Non tocca | Dati applicativi |
Controlla la validità della licenza attiva con l’Hub online e aggiorna il token JWT locale. Notifica gli admin se la licenza sta per scadere (default 30 giorni di preavviso) o è revocata. Controlla anche gli aggiornamenti disponibili per i plugin installati.
Se disattivato: la licenza continua a funzionare per il periodo di grazia (configurato sull’Hub), ma non viene rinnovata automaticamente. Nessuna notifica di scadenza imminente viene inviata.
Generazione movimenti ricorrenti
Sezione intitolata “Generazione movimenti ricorrenti”| Campo | Valore |
|---|---|
| ID | generazione_ricorrenti |
| Orario | Ogni giorno alle 06:00 UTC |
| Tocca | Uscite, entrate, transazioni, scadenze |
| Non tocca | Movimenti non ricorrenti già esistenti |
Crea automaticamente uscite/entrate/girofondi dai Movimenti ricorrenti attivi la cui prossima data è oggi o precedente. Aggiorna la prossima data prevista di ciascun ricorrente.
Se disattivato: i movimenti ricorrenti non vengono generati automaticamente. Dovrai crearli manualmente o riattivare il job.
Controllo aggiornamenti feedback
Sezione intitolata “Controllo aggiornamenti feedback”| Campo | Valore |
|---|---|
| ID | controllo_feedback |
| Orario | Ogni 10 minuti |
| Tocca | Notifiche admin |
| Non tocca | Dati applicativi |
Controlla se ci sono aggiornamenti ai feedback inviati all’Hub (nuovi commenti, cambi di stato). Notifica gli amministratori quando un feedback viene preso in carico o risolto.
Se disattivato: gli admin non ricevono notifiche sui feedback. I feedback inviati restano visibili sull’Hub direttamente.
Promemoria calendario
Sezione intitolata “Promemoria calendario”| Campo | Valore |
|---|---|
| ID | promemoria_calendario |
| Orario | Ogni giorno alle 07:00 UTC |
| Tocca | Notifiche utenti |
| Non tocca | Dati calendari, eventi, scadenze |
Controlla eventi calendario e scadenze fiscali imminenti (entro i giorni di anticipo configurati) e invia promemoria agli utenti.
Se disattivato: nessun promemoria automatico per eventi calendario. Le notifiche giornaliere sulle scadenze di pagamento continuano (gestite da notifiche_giornaliere).
Controllo aggiornamenti applicazione
Sezione intitolata “Controllo aggiornamenti applicazione”| Campo | Valore |
|---|---|
| ID | controllo_aggiornamenti |
| Orario | Ogni 6 ore |
| Tocca | Notifiche admin |
| Non tocca | File dell’applicazione (solo controllo) |
Controlla se è disponibile una nuova versione dell’applicazione confrontando la versione corrente con l’ultima release su GitHub. Notifica gli amministratori quando è disponibile un aggiornamento.
Se disattivato: gli admin non ricevono notifiche automatiche sugli aggiornamenti. La versione attuale continua a funzionare normalmente.
Pulizia cronologia import
Sezione intitolata “Pulizia cronologia import”| Campo | Valore |
|---|---|
| ID | manutenzione_import |
| Orario | Ogni giorno alle 04:00 UTC |
| Tocca | Tabella import_documenti (solo record completati) |
| Non tocca | Uscite, entrate, allegati, import in revisione |
Mantiene pulita la pagina Importazioni rimuovendo le voci più vecchie del periodo configurato (default 90 giorni). Rimuove solo i record di import già elaborati: confermati, scartati o in errore.
Le uscite/entrate generate dagli import e i loro allegati non vengono mai toccati — restano nelle rispettive liste. Anche gli import ancora in revisione (non confermati) sono esclusi dalla pulizia.
Se disattivato: la pagina Importazioni accumula storicamente tutti gli import. Non impatta le uscite/entrate né gli allegati.
Snapshot patrimonio netto
Sezione intitolata “Snapshot patrimonio netto”| Campo | Valore |
|---|---|
| ID | snapshot_patrimonio |
| Orario | Ogni giorno alle 03:00 UTC |
| Tocca | Tabella snapshot_patrimonio, tabella attivita_passivita, tabella obiettivi_finanziari |
| Non tocca | Transazioni, uscite, entrate, fondi diretti |
Sincronizza i valori di attività/passività dai fondi e finanziamenti collegati, aggiorna il progresso degli obiettivi finanziari, e genera o aggiorna lo snapshot mensile del patrimonio netto per ogni ambito.
Se disattivato: il grafico storico del patrimonio non viene aggiornato e i progressi degli obiettivi non si aggiornano automaticamente. Il patrimonio attuale rimane consultabile, ma senza evoluzione storica automatica.
Pulizia sessioni notturna
Sezione intitolata “Pulizia sessioni notturna”| Campo | Valore |
|---|---|
| ID | pulizia_sessioni |
| Orario | Ogni giorno alle 03:00 UTC |
| Tocca | Tabella utenti (refresh token hash) |
| Non tocca | Dati applicativi, uscite, entrate |
Invalida tutti i refresh token attivi, forzando il re-login al prossimo accesso. Viene eseguito solo se l’impostazione Pulizia notturna sessioni è attiva nelle impostazioni avanzate. Quando attiva, la checkbox Ricordami nella pagina di login viene nascosta (non avrebbe senso offrirla se la sessione verrà comunque invalidata ogni notte).
Se disattivato (o se l’impostazione è off): i refresh token restano validi per la loro durata naturale (24h senza Ricordami, 30 giorni con Ricordami).
Dove configurare i job
Sezione intitolata “Dove configurare i job”Impostazioni avanzate → Processi pianificati — da questa sezione puoi:
- Vedere lo stato di ogni job (attivo/inattivo, ultima esecuzione, prossima esecuzione, ultimo errore)
- Attivare o disattivare singoli job
- Forzare l’esecuzione manuale di un job
- Configurare i parametri (es. giorni di retention, giorni di anticipo notifiche)

Vedi anche
Sezione intitolata “Vedi anche”- Backup e licenza — configurazione backup e stato licenza
- Impostazioni avanzate — la sezione che ospita i processi pianificati
- Notifiche — le notifiche generate dai job
- Movimenti ricorrenti — il job
generazione_ricorrentiè il motore dei ricorrenti