首页 > 解决方案 > Windows 服务在 1 天后停止工作

问题描述

我创建了一个用于调度 cron 作业的 Windows 服务。该作业每 1 分钟运行一次。一天一切都好。第二天,我的服务运行良好。但是所有的 cron 作业都没有放置日志(什么都不做)。如果我重新启动我的服务,它开始正常工作以安排 cron 作业。

我无法在 Windows 事件中找到任何错误日志。

我在 UAT 服务器中有相同的设置。它连续工作正常。但在生产环境中,它停止了我所有的调度作业,没有任何日志。

我需要一些专家的建议。请分享您的意见。

有没有环境政策问题?或任何代码级别的问题?

这是我的代码。此 IncidentScanningJob 在没有日志的情况下停止。

 private ISchedulerFactory _schedulerFactory;
 private IScheduler _scheduler;
 private ISchedulerFactory _schedulerFactorypooling;
 private IScheduler _schedulerpooling;


 JobDataMap datamap = new JobDataMap();
                    datamap.Put(IncidentScaningJob.JobId, JobId);
                    datamap.Put(IncidentScaningJob._objeScheduler, _scheduler);
                    datamap.Put(IncidentScaningJob._objeSchedulerPooling, _schedulerpooling);
                    datamap.Put(IncidentScaningJob._objeCron, cron);
                    datamap.Put(IncidentScaningJob._objeIncidentProfileId, IncidentProfileId);

var scheduleDetail = JobBuilder.Create<IncidentScaningJob>()
         .WithIdentity(IncidentProfileId + "_ScheduleIncidentJob" + JobId, "_ScheduleIncidentJob" + JobId)
         .UsingJobData(datamap)
         .Build();

var ScheduleTaskflowJobTrigger = TriggerBuilder.Create()
                                                 .WithIdentity(IncidentProfileId + "_ScheduleIncidentJob" + JobId, IncidentProfileId + "_GroupScheduleIncidentJob" + JobId)
                                                // .WithCronSchedule(cron, x => x.WithMisfireHandlingInstructionFireAndProceed())                                                   
                                                .StartAt(DateTime.Now.AddMinutes(1))
                                                 .Build();

标签: c#windows-serviceswindows-server-2012windows-server-2016

解决方案


推荐阅读