Segno qui sul blog un promemoria importante, utile a chiunque utilizzi i checkpoint e si trovi alle prime armi con l'argomento.
Per definire i checkpoints è necessario rispettare almeno due step:
1) definire se il package supporta l'operazione di checkpoint
E' infatti necessario stabilire a priori se il package dovrà supportare l'operazione di checkpoint, e quindi se il pacchetto prevederà la generazione di un file di supporto in cui verranno segnati gli step eseguiti con successo prima dell'eventuale errore. In caso di riesecuzione, il package potrà ripartire andando a leggere il file di checkpoint creato al verificarsi dell'errore (nella precedente esecuzione). Le proprietà da impostare sono quelle identificate in
questo post.
2) Selezionare chi partecipa al checkpoint
Per creare o scrivere sul file già esistente è necessario impostare la proprietà
FailPackageOnFailure per ogni task che parteciperà al checkpoint.
Sì, l'ho già scritto, ma questo deve essere un breve reminder, diretto e non all'interno di un post molto più teorico
Il concetto è semplice,
NON BASTA IMPOSTARE IL PACKAGE, ma è necessario scegliere chi partecipa all'operazione di checkpoint.
E' inoltre importante ricordare che se il task che partecipa si trovasse all'interno di un for each loop container non sarebbe possibile la riesecuzione alla precisa iterazione. Il ciclo verrebbe comunque rieseguito da capo.
Stay tuned!