[英]Start process with QUARTZ.NET
這是我的.NET
控制台應用程序program.cs
類中的方法
public static void Run()
{
var isRunning = false;
IServiceCollection services = new ServiceCollection();
Startup startup = new Startup();
var serviceProvider = startup.ConfigureServices(services);
IWindsorContainer _container =
DateTime thisDay = DateTime.Today;
while (true)
{
if (!isRunning)
{
isRunning = true;
var configuration = _container.Resolve<IConfigurationRoot>();
var _process = _container.Resolve<Process.Process>();
var cron = (configuration[Enums.ExecutionTime]);
if (thisDay == DateTime.Now)
{
try
{
_process.MainProcess();
}
catch (Exception ex)
{
}
finally
{
isRunning = false;
Thread.Sleep(secondsForSleep);
_container.Release(_process);
}
}
}
}
}
我想使用quartz.net來啟動_process.MainProcess()
但是我能找到的所有示例都是關於啟動Jobs
,有人知道它是否支持啟動過程,或者有解決方法嗎?
您只需實現IJob
接口並讓作業運行該過程:
[DisallowConcurrentExecution]
public class MyProcessJob : IJob
{
private readonly Process _process;
public MyProcessJob(Process process)
{
_process = process;
}
public void Execute(IJobExecutionContext context)
{
_process.MainProcess();
}
}
Quartz.NET快速入門指南中很好地解釋了作業的創建和調度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.