我有一個由 Quartz 在 ASP.NET Core 中安排的作業,每 15 分鐘運行一次。
我想最初運行它(強制 Quartz 現在啟動)。
我使用以下代碼,但它最初不運行作業并等待 15 分鐘開始。
好像.StartNow()不行?
public class JobSchedulerSimple
{
public static async Task StartSimpleSync()
{
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sched = await sf.GetScheduler();
IJobDetail job = JobBuilder.Create<FileJob>()
.WithIdentity("ID", "ID")
.Build();
ITrigger trigger = TriggerBuilder.Create().WithIdentity("StartSimpleSync", "ID")
.StartNow()
.WithCronSchedule("0 0/15 * * * ?")
.Build();
await sched.ScheduleJob(job, trigger);
await sched.Start();
}
}
uj5u.com熱心網友回復:
您可以呼叫await sched.TriggerJob(job.Key);這將創建一個具有立即觸發時間的簡單觸發器,并在幕后運行一次行為。
對于 cron 觸發器StartNow()只是意味著開始計算火災,它仍然會遵循不是“現在”的時間表。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/343455.html
上一篇:用戶輸入的服務器端驗證
