Passa ai contenuti principali

Esecuzione automatica di un Google Apps Script

Progetto

Creiamo un nuovo script per loggare il livello di spam nella nostra casella di posta.
Poniamo di essere degli individui meticolosi che controllano periodicamente lo spam alla ricerca di falsi positivi per evitare che una mail importante vada persa come lacrime nella pioggia (cit.)
Per far ciò, ogni volta che vediamo aumentare il contatore delle mail non lette sotto l'etichetta "spam", andremo a controllare se queste mail siano effettivamente spam o meno e se sono spam li elimineremo definitivamente.

Script

Creiamo quindi un progetto "Spam Monitor" e scriviamo al suo interno questa funzione
La funzione in se è molto semplice, recupera il numero di discussioni non lette in spam, crea un oggetto con un messaggio e il contatore stesso, successivamente logga questo oggetto come "info" se il contatore è a zero, "warning" se è compreso tra 0 e 5 e "error" se è maggiore o uguale a 5.
Ovviamente alla sua prima esecuzione ci troveremo a dover autorizzare lo script come abbiamo visto nel precedente articolo.

Log filtering

Potremo poi consultare i log su stackdriver, avere a colpo d'occhio i messaggi in ordine cronologico e potremo anche filtrarli. Per esempio potremo usare un filtro avanzato per estrarre solo i log con unreadSpam maggiore di 0 e minore di 3 con un filtro avanzato come questo
jsonPayload.unreadSpam>0 AND
jsonPayload.unreadSpam<3 font="">
oppure consultare solo i warning e gli error con questo filtro avanzato
severity="WARNING" OR
severity="ERROR"

Ovviamente Stackdriver ha una quantità incredibile di funzionalità che ci permettono di consultare i log come può venirci più comodo ma adesso abbiamo il problema di come generarli in maniera costante. Per esempio sarebbe comodo se il nostro script potesse essere eseguito periodicamente, magari una volta ogni ora in modo da generare dei dati costanti da poter analizzare con calma.

Trigger

Il metodo più veloce è di creare un trigger manuale dal menù "Modifica" selezionando la voce "Trigger del progetto corrente"
Nella modale che si apre aggiungere un trigger per la nostra funzione che venga eseguito ogni ora. Per sicurezza dal link "notifiche" andiamo a impostare che ci venga inviata una mail appena si presenta un errore con l'esecuzione di questo trigger.

Conclusione

Oggi abbiamo fatto una panoramica sulla gestione dei log e sui trigger. Anche in questo caso si tratta di argomenti molto vasti che andranno ripresi più avanti per essere trattati in maniera adeguata. Questo ovviamente è ancora un articolo introduttivo e ritengo sarebbe prematuro buttarsi subito ad approfondire ogni singolo argomento prima ancora di aver dato la possibilità di capire se i Google Apps Script possano essere quello che fa al proprio caso.

Commenti