繁体   English   中英

Windows Server 2008 R2中未运行quartz.net作业

[英]quartz.net job not running in windows server 2008 R2

我在c#.net中创建了一个Windows服务,它使用quartz.net每小时执行一次工作。 它在本地工作,没有任何问题。 但是,当我将其安装在服务器2008 R2上时,它不起作用。 它启动并且没有错误。 我使用了事件日志,但我的Unrestood类JobScheduler可以正常工作,但作业不会触发。 请帮我。

     public class JobScheduler
{
    public static void Start()
    {
        try
        {
            ISchedulerFactory schedFact = new StdSchedulerFactory();
            IScheduler scheduler = schedFact.GetScheduler();
            scheduler.Start();
            IJobDetail job = JobBuilder.Create<CheckJob>().WithIdentity("MyJob", "group1").Build();

            ITrigger trigger = TriggerBuilder.Create().WithIdentity("myTrigger", "group1").StartNow().WithSimpleSchedule(s => s.WithIntervalInHours(1).RepeatForever()).Build();



            scheduler.ScheduleJob(job, trigger);
            EventLogging.Log("jobscheduling ok");


        }
        catch (Exception ex)
        {
            EventLogging.Log("jobscheduler:"+ex.Message);

        }
    }
}

根据我使用石英的经验,您可以查看免费积分,

  1. 检查exe属性并确保它未被阻止

  2. 检查正确的连接字符串

  3. 检查所需文件是否在正确的路径中

  4. 尝试编写日志/启用日志记录以查看发生了什么问题

您有一个可变范围问题,因为您没有在Start方法之外保留对调度程序的引用。 为了使调度程序在Start方法完成运行后继续运行,需要将调度程序变量定义为静态变量,而不是方法变量。

您可以使用软件包下载随附的quartz.server。

https://github.com/quartznet/quartznet

对框架感到满意后,请创建自己的框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM