It is currently 7 June 2025, 23:01 Advanced search

Pianificazioni: come gestirle

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Pianificazioni: come gestirle

Postby d.termini » 17 October 2024, 9:50

Mi servirebbe un cronjob...

Pensavo, in server session, di fare un timer che gira ogni minuto e verifica quali elaborazioni far partire in un determinato momento, ovviamente se non sono già in esecuzione.

Qualcuno ha già fatto qualcosa del genere e mi sa dare una dritta?
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Pianificazioni: come gestirle

Postby majinbu » 18 October 2024, 15:40

Io ho fatto un applicazione nuova nel progetto che poi è installata server session sulla macchina di produzione.
Nella view che parte dall'onstart c'è un timer che a intervalli di tempo esegue delle operazioni (in realtà è un po' più complesso di così ma cerco di semplificare la spiegazione)
Il timer parte quando la videata viene caricata quindi di fatto quando parte l'applicazione la quale viene lanciata dopo l'installazione.

Ciao
majinbu
 
Posts: 34
Joined: 4 June 2020, 8:15

Re: Pianificazioni: come gestirle

Postby d.termini » 21 October 2024, 7:00

Sì, è quello che ho fatto anche io al momento, ma dipende appunto dal momento in cui lanci l'applicazione, io invece ho la necessità che sia eseguito in un momento specifico, che ne so la domenica notte alle 4.
Come già ho pensato dovrebbe funzionare, è sulla falsa riga del sistema di pianificazione che usiamo attualmente su Foundation, però mi chiedevo se in Cloud ci fosse un sistema migliore.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Pianificazioni: come gestirle

Postby majinbu » 21 October 2024, 8:06

Se l'applicazione è installata server session questa viene sempre eseguita a partire da quando parte il server o dopo l'installazione/aggiornamento della stessa,
se il timer supponi si attivi ogni 5 minuti (io ho vari timer alcuni girano ogni 5 minuti altri ogni 15) poi 'sotto' ci va un sistema che 'sa' quando va eseguito il task.

Nel mio caso ho un paio di tabelle a DB (locale) che per ogni task che viene eseguito hanno definito quando eseguirlo. Tipo che ne so in giorni specifici, orari specifici, ogni tot. etc etc.

Ti faccio un paio di esempi per chiarire meglio:

Task che fa un operazione specifica su varie tabella del db (collegato con un connector), esso viene attivato in un arco di tempo compreso tra le 23 e le 01 di notte ed eseguito ogni 15 minuti, per cui il timer quando viene eseguito verifica che non ci siano altri task attivi uguali e poi se l'orario corrisponde a quello impostato va a eseguire un metodo specifico (fa un mod sui minuti per vedere se si dividono per 15, per cui lo fa alle 23 - 23,15 23,30, 23,45 etc etc) dato che ho limitato il numero di records che processa devo farlo eseguire ripetutamente per completarlo oltre che lo fa su 7 db collegati ad altrettanti connectors.

Un altro task invece viene eseguito semplicemente ogni 5 minuti e se trova che quell'azione specifica non è stata eseguita la esegue e la marca come fatta (nel mio caso di solito sono invii di alet via email)

Un ultimo task invece va eseguito esattamente alle 23,55 ma solo da Lun-Ven per cui il timer è più ricorrente se no magari manca l'orario e quando si accorge che sono le 23,55 esegue un metodo e fino al giorno dopo non lo rieseguirà più.

Come dicevo tutta questa gestione dei task è fatta tramite db e una console dove posso fare io il tuning esatto di quando voglio venga eseguito un certo task.

Spero di essere stato più chiaro e che ti sia utile
Ciao
majinbu
 
Posts: 34
Joined: 4 June 2020, 8:15

Re: Pianificazioni: come gestirle

Postby d.termini » 21 October 2024, 8:22

Esatto, quello che voglio fare io.
Comunque sempre timer che lancia altre procedure al verificarsi di determinate condizioni.
Pensavo ci potesse essere tipo un cron configurabile, magari in un componente, ovviamente da usare in server session.
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 8 guests