You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using Quartz; using Quartz.Impl; using System; using System.Collections.Specialized; using System.Threading.Tasks; using POSCorePrint.Jobs; using System.Net; using System.Net.Sockets;
namespace POSCorePrint { public class TaskStart { public string PrintTaskTime { get; } = Constant.Configuration["taskTimes:printTaskTime"]; public async Task Start() { try { // 从工厂中获取调度程序实例
NameValueCollection props = new NameValueCollection { { "quartz.serializer.type", "binary" } }; StdSchedulerFactory factory = new StdSchedulerFactory(props); IScheduler scheduler = await factory.GetScheduler();
// 开启调度器
await scheduler.Start();
#region//打印任务
IJobDetail job = JobBuilder.Create<PrintJob>() .WithIdentity("PrintJob", "group") .Build();
// 定时获取打印任务
ITrigger trigger = TriggerBuilder.Create() .WithIdentity("PrintTrigger", "group") .WithCronSchedule(PrintTaskTime) .Build();
// 告诉Quartz使用我们的触发器来安排作业
await scheduler.ScheduleJob(job, trigger); #endregion
} catch (SchedulerException se) { await Console.Error.WriteLineAsync($"{DateTime.Now.ToString()}:{se.ToString()}"); } } } }
|