2015-04-23 3 views
8

Come posso aggiungere la data all'attività HangFire? Per esempio, il codice aggiunge 7 giorni:HangFire ha ritardato le attività con la data

BackgroundJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    TimeSpan.FromDays(7)); 

Ma cosa succede se ho bisogno di correre compito in data?

risposta

5

Se l'anno non è importante, è possibile utilizzare l'espressione cron a questo scopo. La maggior parte delle implementazioni di cron predefinite (come NCrontab utilizzate da Hangfire) non includono il campo dell'anno.

BackgroundJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    "30 4 27 6 *"); 

Questo lavoro verrà eseguito alle 4.30 del 27 di giugno di ogni anno.

3

Come lo sviluppatore ha risposto alla mia domanda here, è possibile utilizzare semplicemente la data anziché i giorni.

BackgroundJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    new DateTime(2015, 08, 05, 12, 00, 00)); 

per il 05/08/2015 alle 00:00.

Jerry's risposta è vero per RecurringJobs

RecurringJob.Schedule(
    () => Console.WriteLine("Reliable!"), 
    "00 00 05 8 *"); 

che si svolgerà ogni anno il 05/08 alle 00:00

+0

Attualmente non c'è nessun metodo 'Schedule' nella classe' RecurringJob'. – Deilan

Problemi correlati