Il perfetto pianificatore di attività open source

Il motivo per cui abbiamo rinunciato non è stata proprio colpa del software, è stata nostra. Usiamo cron e altre persone usano software equivalente su Windows, perché è facilissimo: non abbiamo bisogno di impostare lavori programmati ogni giorno, ma quando lo facciamo vogliamo che sia facile.

Il perfetto pianificatore di attività open source

Sfortunatamente, abbiamo trovato Job Scheduler troppo difficile. Espone il fatto che può fare tutto per te in ogni passaggio, il che significa che le operazioni semplici non erano in realtà così semplici. Inoltre, nonostante il sistema sia gestito tramite un'interfaccia web, abbiamo riscontrato difficoltà nell'accesso da macchine diverse o da reti diverse.

Nessuno di questi problemi era insormontabile, ma penso che alla fine i nostri "occhi fossero più grandi della nostra pancia" e non volevamo davvero tutte le sue capacità insieme alle caratteristiche che desideravamo.

E poi: GNUbatch

Finora le cose erano andate male: avevamo rifiutato ogni pacco che avevamo esaminato. Alcune soluzioni non ci piacevano perché mancavano di resilienza, e non ci piaceva la soluzione più resiliente perché troppo complicata.

Abbiamo quindi scoperto un pacchetto chiamato GNUbatch. È un prodotto maturo nell’arena della pianificazione del lavoro, ma relativamente nuovo per la comunità open source. Era un pacchetto commerciale chiamato Xi-Batch ed è stato sviluppato attivamente dal 1990, prima di essere reso open source nel 2009.

Prima di iniziare a correre a cercare il gestore dei pacchetti, tieni presente che probabilmente non troverai GNUbatch nei repository, quindi dovrai scaricare il codice sorgente e compilarlo tu stesso.

GNUbatch è un prodotto maturo nell'arena della pianificazione dei lavori, ma relativamente nuovo per la comunità open source

Tieni inoltre presente che si tratta di un buon software vecchio stile: GNUbatch non utilizza un database relazionale per archiviare le sue informazioni; non è scritto in Java; e se vuoi puoi controllare tutto da una riga di comando, sebbene abbia anche interfacce GUI, Windows e web.

Allora cosa può fare GNUbatch? Ti consente di impostare i lavori da eseguire su una o più macchine e ogni lavoro può avere un orario di inizio ed essere impostato per essere ripetuto a vari intervalli, con un po' di riflessione puoi anche limitarlo ai giorni lavorativi, evitando i fine settimana e i giorni festivi, e fargli comprendere opzioni di pianificazione più sofisticate come "l'ultimo giorno lavorativo mese".

I lavori possono essere concatenati insieme, con percorsi opzionali basati su errori, e queste catene possono essere create per estendersi su più macchine. Ad esempio, potresti avere un'attività di reporting eseguita su un insieme di macchine, che poi fa sì che un singolo lavoro venga eseguito su un'altra macchina per aggregare i risultati in un report.

Tutti i risultati dei lavori vengono registrati come file di testo e questi registri possono essere manipolati in seguito. Tutto sommato, abbiamo scoperto che GNUbatch faceva esattamente quello che volevamo e, sebbene avesse una curva di apprendimento piuttosto ripida, ciò era mitigato dal fatto che dispone di una notevole raccolta di manuali leggibili.

Quindi alla fine abbiamo trovato una soluzione alla nostra ricerca di un pacchetto di pianificazione del lavoro, dopo aver lottato con il classico problema open source di troppi tra cui scegliere. Se hai un'esigenza simile alla nostra, guarda Job Scheduler e GNUbatch.