gpt4 book ai didi

c# - 是否可以从运行的 Quartz.Net 作业调度程序服务中添加或删除作业和触发器?

转载 作者:太空宇宙 更新时间:2023-11-03 13:20:44 26 4
gpt4 key购买 nike

是否可以从正在运行的 Quartz.Net 调度程序服务中添加或删除作业和触发器?

最佳答案

所以我有一个连接到 Sql Server 的 POC(概念验证)。

我有两个控制台应用程序:

QuartzPOC.ConsoleApp.PopulateJobs.exe
and
QuartzPOC.ConsoleApp.RunJobs.exe

我跑了 QuartzPOC.ConsoleApp.RunJobs.exe

有一个空的(QuartzDB)数据库。显然,在运行时没有作业运行。

当“QuartzPOC.ConsoleApp.RunJobs.exe”正在运行时……然后我运行了

QuartzPOC.ConsoleApp.PopulateJobs.exe

它只将作业放入数据库。注意:我不使用“QuartzPOC.ConsoleApp.PopulateJobs.exe”调用“IScheduler.Start”

“QuartzPOC.ConsoleApp.PopulateJobs.exe”结束,因此不再运行。

我等了。 (请记住“QuartzPOC.ConsoleApp.RunJobs.exe”仍在运行)。

作业开始运行。

神奇的“召唤”似乎是这样的:

exec sp_executesql N'SELECT TOP 1  TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY FROM QRTZ_TRIGGERS WHERE SCHED_NAME = ''MySchedulerName'' AND TRIGGER_STATE = @state AND NEXT_FIRE_TIME <= @noLaterThan AND (MISFIRE_INSTR = -1 OR (MISFIRE_INSTR <> -1 AND NEXT_FIRE_TIME >= @noEarlierThan)) ORDER BY NEXT_FIRE_TIME ASC, PRIORITY DESC',N'@state nvarchar(7),@noLaterThan bigint,@noEarlierThan bigint',@state=N'WAITING',@noLaterThan=235333689932806505,@noEarlierThan=235333689282806505

因此,如果您填充作业(通过 C# 代码到 Quartz.Net 库)....作为另一个进程运行的调度程序将获取数据库更改。

关于c# - 是否可以从运行的 Quartz.Net 作业调度程序服务中添加或删除作业和触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24322518/

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