Mi chiedo quando ho creato qualcosa di simileA che ora mi trovo in Quartz.net?
Trigger trigger = TriggerUtils.MakeDailyTrigger("abc", 5, 00);
io pongo per 05:00. È l'ora del server alle 5:00 o l'ora UTC?
Mi chiedo quando ho creato qualcosa di simileA che ora mi trovo in Quartz.net?
Trigger trigger = TriggerUtils.MakeDailyTrigger("abc", 5, 00);
io pongo per 05:00. È l'ora del server alle 5:00 o l'ora UTC?
Utilizza l'ora UTC, tuttavia non è correttamente documented.
Modifica: in realtà sembra che abbia usato entrambi! Le versioni precedenti alla 0.9 usate l'ora locale, quelle dopo l'uso UTC (source), quindi dovrebbe essere UTC fintanto che si utilizza una versione recente.
5:00 am Ora UTC. Public Quartz.NET API sempre expects volte in formato UTC. Cordiali saluti, MakeDailyTrigger
è solo una scorciatoia per CronTrigger con seguente formato:
string.Format("0 {0} {1} ? * *", minute, hour)
Divertente, non sapevo su MakeDailyTrigger, quindi ho finito con il codice string.format esattamente come sopra. Vorrei che il quarzo avesse una documentazione migliore. – nocarrier
Credo che quando si immette un'ora nell'argomento ora nel metodo MakeDailyTrigger che Quartz.Net si aspetta ora locale ... Internamente al quarzo .net converte questa volta in UTC, ma se inserisci 5 nell'argomento dell'ora il trigger si attiverà alle 5:00 ora locale.
Prova questa
Trigger trigger =
TriggerUtils.MakeDailyTrigger("trigger",5,0);
var ttimes = TriggerUtils.ComputeFireTimes(trigger, null, 1);
foreach (DateTime ttime in ttimes)
{
Console.WriteLine(ttime);
'ttime is in UTC - so for EST, ttime.Hour would be 10AM
'however ttime.ToLocalTime().Hour would be 5AM
}
Solo FYI, Quartz.net 2.0.1 non supporta l'ora UTC, ma questo è stato risolto in 2.1.0. L'ho imparato nel modo più duro. – nocarrier
non riesce a trovare alcuna menzione di UTC o l'ora locale nella guida alla migrazione di cui sopra ... forse Quartz.Net spostato il doc? – w4ik
@ w4ik sì sembra che abbiano spostato i loro documenti, vedranno se riesco a trovare un'altra copia –