是否可以在运行Quartz时添加或删除作业和触发器?净作业调度器服务
本文关键字:触发器 作业 服务 作业调度 删除 运行 Quartz 添加 是否 | 更新日期: 2023-09-27 18:09:43
是否可以在运行中的Quartz中添加或删除作业和触发器?网络调度器服务?
所以我有一个POC(概念证明)是连接到Sql Server。
我有两个控制台应用:
QuartzPOC.ConsoleApp.PopulateJobs.exe
and
QuartzPOC.ConsoleApp.RunJobs.exe
我跑QuartzPOC.ConsoleApp.RunJobs.exe
使用空(QuartzDB)数据库。显然,在运行此命令时没有作业在运行。
当"QuartzPOC.ConsoleApp.RunJobs.exe"运行......时然后我运行
QuartzPOC.ConsoleApp.PopulateJobs.exe
只在数据库中放置作业。注意:我不调用"isscheduler"。以"QuartzPOC.ConsoleApp.PopulateJobs.exe"开始
"QuartzPOC.ConsoleApp.PopulateJobs.exe"结束,因此不再运行。
我等待着。(请记住"QuartzPOC.ConsoleApp.RunJobs.exe"仍在运行)。
Jobs started running.
神奇的"call"似乎是这样的:
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。网库)……作为另一个进程运行的调度程序将拾取db更改