Ho cercato una risposta su come riattivare un lavoro dopo un certo periodo di tempo, se il lavoro genera un'eccezione. Non riesco a vedere nessun modo semplice per farlo.Refire trigger quartz.net dopo 15 minuti se il lavoro non riesce con eccezione
se ho impostato il mio grilletto in questo modo:
JobDetail job = new JobDetail("Download catalog", null, typeof(MyJob));
job .Durable = true;
Trigger trigger= TriggerUtils.MakeDailyTrigger(12, 0);
trigger.StartTimeUtc = DateTime.UtcNow;
trigger.Name = "trigger name";
scheduler.ScheduleJob(job , trigger);
E MyJob simile a questa:
public class MyJob : IJob
{
public void Execute(JobExecutionContext context)
{
var service = new service();
try
{
service.Download();
}
catch (Exception)
{
throw;
}
}
}
come faccio a rendere il grilletto per refire/retrigger dopo c'è andato 15 minuti se la chiamata service.Download() genera una sorta di eccezione?
Sì. Questo l'ho letto, ma non è una buona soluzione, perché potrebbe significare che potrebbe rigirarsi molte migliaia di volte (o addirittura rifirare milioni di volte). Ma è bello vedere che sei arrivato a questa conclusione. – mslot
@mslot: ho aggiornato la mia risposta. – LeftyX
Grazie: D Avevo la stessa idea, ma questa è la prima volta che utilizzo il quarzo, quindi non ero sicuro di poter usare il contesto. – mslot