/// <summary> /// 开始任务通过盘点计划 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="trigger"></param> /// <param name="groupName"></param> /// <param name="jobDetailName"></param> public async Task SchedulerStartByPlan(InventoryPlan inventoryPlan) { if (Scheduler == null) { CreateScheduler(); } var currentTrigger = CustomizeTrigger.GetExecuteInventoryPlanTrigger(inventoryPlan.id, QuartzUtils.GetQuartzCron(inventoryPlan)); IJobDetail jobDetail = JobBuilder.Create <ExecuteInventoryPlanJoB>().WithIdentity(inventoryPlan.id, GroupName.ExecuteInventoryPlan.ToString()).Build(); //将任务与触发器添加到调度器中 await Scheduler.ScheduleJob(jobDetail, currentTrigger); //开始执行 await Scheduler.Start(); }
public async Task CreateUpdateTriggerAsync(string cron) { var triggerName = $"{cron}Trigger"; var triggerGroupName = GroupName.ExecuteInventoryPlan.ToString(); var trigger = await Scheduler.GetTrigger(new TriggerKey(triggerName, triggerGroupName)); var ret = IsExistScheduleJob(triggerName, triggerGroupName); if (!ret.Result) { await SchedulerStartAsync <ExecuteInventoryPlanJoB>(CustomizeTrigger.GetExecuteInventoryPlanTrigger(cron), GroupName.ExecuteInventoryPlan, cron); } else { var triggerNew = TriggerBuilder.Create().WithIdentity(triggerName, triggerGroupName).ForJob(trigger.JobKey).WithCronSchedule(cron).Build(); await Scheduler.RescheduleJob(trigger.Key, triggerNew); } }
public void QuartzTestMethod() { CustomizeScheduler.GetInstance().SchedulerStart <GetInventoryPlanJoB>(CustomizeTrigger.GetInventoryPlanTrigger(), GroupName.GetInventoryPlan); System.Threading.Thread.Sleep(2000000); }