crontab - manualmente - cómo ejecutar un trabajo recurrente anual usando cron
ejecutar crontab manualmente (1)
Hangfire usa la biblioteca NCrontab . Como se puede ver, esta lib proporciona una forma de probar rápidamente su propia funcionalidad. Simplemente abra la ventana C# Interactive
en Visual Studio y pegue un código como el siguiente:
#r "C:/Users/YOUR_USER/.nuget/packages/ncrontab/3.3.0/lib/netstandard1.0/NCrontab.dll"
using NCrontab;
var s = CrontabSchedule.Parse("0 0 * * 1");
var start = new DateTime(2000, 1, 1);
var end = start.AddYears(12);
var occurrences = s.GetNextOccurrences(start, end);
Console.WriteLine(string.Join(Environment.NewLine,
from t in occurrences
select $"{t:ddd, dd MMM yyyy HH:mm}"));
Otra forma es usar el visualizador crontab en línea. Por ejemplo: cron.schlitt.info .
Ambas herramientas dan el mismo resultado: su expresión cron significa "ejecutar cada lunes para siempre".
Hangfire usa ncrontab para ejecutar trabajos recurrentes.
¿Esto debajo de contab se ejecuta todos los lunes a las 12 a.m. durante solo 2017 ?
0 0 * * 1
¿Cómo puedo asegurarme de que se ejecute solo para 2017 o cada año?