gpt4 book ai didi

quartz.net - 在 Topshelf 中调度多个 Quartz 作业

转载 作者:行者123 更新时间:2023-12-04 17:00:46 25 4
gpt4 key购买 nike

在此处阅读 Topshelf 集成的文档:https://github.com/dtinteractive/Topshelf.Integrations

看起来它应该像在 HostFactory 中调度多个 quartz 作业一样简单。但看起来第二个预定作业是唯一正在运行的作业。

我不确定如何从这里开始。但是我需要安排两个按不同时间表运行的作业。第一个应该每天运行,而第二个每小时运行一次。

static void Main(string[] args)
{
HostFactory.Run(x =>
{
x.ScheduleQuartzJobAsService(q =>
q.WithJob(() => JobBuilder.Create<TmsIdImportTask>().Build())
.AddTrigger(() =>
TriggerBuilder.Create()
.WithSimpleSchedule(builder => builder
.WithIntervalInMinutes(Int32.Parse(ConfigurationManager.AppSettings["ScheduleImportFrequencyInMinutes"]))
.RepeatForever()).Build())
);

x.ScheduleQuartzJobAsService(q =>
q.WithJob(() => JobBuilder.Create<ImportTmsXMLTask>().Build())
.AddTrigger(() => TriggerBuilder.Create().WithSimpleSchedule(builder =>
builder.WithIntervalInMinutes(Int32.Parse(ConfigurationManager.AppSettings["TMSImportFrequencyInMinutes"]))
.RepeatForever()).Build())
);


x.RunAsLocalSystem();

var description = ConfigurationManager.AppSettings["ServiceDescription"];
x.SetDescription(description);

var displayName = ConfigurationManager.AppSettings["ServiceDisplayName"];
x.SetDisplayName(displayName);

var serviceName = ConfigurationManager.AppSettings["ServiceName"];
x.SetServiceName(serviceName);
});
}

最佳答案

我相信您遇到问题的原因是因为您正在使用

x.ScheduleQuartzJobAsService

代替
x.ScheduleQuartzJob

我只是第一次使用 Quartz,但我有 20 个不同的计划在同一个主机中运行

关于quartz.net - 在 Topshelf 中调度多个 Quartz 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21294677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com