.NETでcronジョブをスケジュールし、IISでホストされています。最初の日に起動されました(このジョブがトリガーされたときに私は実際にメールを送信します)。しかし、次の日はそれがありません(私はこれを日常的に再帰的にしたい... 24時間ごとに1回)[[画像の説明はこちら] [1]] [1].NETのCron Job(Quartz.NET)が毎日トリガーされていません
public class JobScheduler
{
public static void Start()
{
try
{
Logger.Error("-------------------------------------------Inside JobScheduler Start-------------------------------------------");
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<QualityGateSFDCActionJob>().Build();
ITrigger trigger = TriggerBuilder.Create().WithIdentity("trigger3", "group1").WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(11, 42)).ForJob(job).Build();
scheduler.ScheduleJob(job, trigger);
Logger.Error("-------------------------------------------Scheduler Started without Issues-------------------------------------------");
}
catch (Exception ex)
{
Logger.Error(ex.Message);
throw ex;
}
}
}
これについて親切に助けてください。
ITrigger trigger = TriggerBuilder.Create().WithIdentity("trigger3", "group1").WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(11, 42)).ForJob(job).Build();
このジョブを午前11時42分に毎日実行するだけです。この点について私は全力を尽くしてお礼申し上げます。
アプリケーションはASP.NET MVC上に構築され、IIS上でホストされています。私はジョブを毎日実行したいので、私はCron Jobを選択します(Windowsサービスはプロダクションサーバーのコンテキスト/スコープ外です)
私はこれがIISに関連していると思います。なぜなら、しばらくしてからアプリケーションプールをリサイクルし、あなたの仕事はもう始動できなくなるからです。これに静的なクラスを使用していますか?長時間実行されるタスクは、外部サービスなどでIISでより多く実行されるべきではありません。 – Jehof
私はJehofに同意します。おそらく、IISのリサイクルに関係します。このStart()メソッドはいつ呼びますか?それはあなたが手動で何かをする必要がありますか?サービスを呼び出す? – CathalMF
Jehof&CathalMFに感謝します。はい。データを送信するサービス(REST API)が呼び出されます。毎日行われるべきである – suman