如果我们设置 offline.html,将在 RAMJobStore 中安排 Job/Trigger 丢失
Will scheduled Job/Trigger in RAMJobStore lost if we set offline.html
目前,我计划运行安排每周发送电子邮件。
我希望触发器在应用程序离线时停止。然后在 AppStart 时再次重新安排。
看了文档,还是没搞清楚。
我在本地机器上试过,似乎 RAMJobStore 继续 运行ning,甚至应用程序都处于离线状态。如何在应用程序离线时停止它?
请与我分享一些想法或信息。谢谢
经过几次尝试,我发现在应用程序文件夹中 App_offline.htm 时触发器会关闭。
我设置了下面的代码,然后单击“开始”按钮来触发计划。
假设每 30 秒将收到总共 5 封电子邮件。如果测试邮件发送失败,假设会收到一封错误邮件。
收到第二封邮件后,我将粘贴 App_offline.html 复制到文件夹中。最后,我什么也没收到。当然,在我删除 App_offline.htm 之后也没有任何反应。谢谢!
p/s: 代码就是这样,到目前为止没有应用额外的 Web.Config。
public ActionResult Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<Jobclass>().Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(30)
.WithRepeatCount(4))
.Build();
scheduler.ScheduleJob(job, trigger);
return RedirectToAction("Index");
}
public class Jobclass:IJob
{
public void Execute(IJobExecutionContext context)
{
string sMailStatus = MyClass.mailTemplate("myEmail@gmail.com", "myEmail@gmail.com",
"Testing Email - " + DateTime.Now.ToShortDateString(), "Testing");
if (sMailStatus != "sent")
{
MyClass.mailTemplate("myEmail@gmail.com", "myEmail@gmail.com",
"Error : Testing Email", sMailStatus);
}
}
}
目前,我计划运行安排每周发送电子邮件。 我希望触发器在应用程序离线时停止。然后在 AppStart 时再次重新安排。 看了文档,还是没搞清楚。 我在本地机器上试过,似乎 RAMJobStore 继续 运行ning,甚至应用程序都处于离线状态。如何在应用程序离线时停止它?
请与我分享一些想法或信息。谢谢
经过几次尝试,我发现在应用程序文件夹中 App_offline.htm 时触发器会关闭。
我设置了下面的代码,然后单击“开始”按钮来触发计划。 假设每 30 秒将收到总共 5 封电子邮件。如果测试邮件发送失败,假设会收到一封错误邮件。
收到第二封邮件后,我将粘贴 App_offline.html 复制到文件夹中。最后,我什么也没收到。当然,在我删除 App_offline.htm 之后也没有任何反应。谢谢!
p/s: 代码就是这样,到目前为止没有应用额外的 Web.Config。
public ActionResult Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();
IJobDetail job = JobBuilder.Create<Jobclass>().Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(30)
.WithRepeatCount(4))
.Build();
scheduler.ScheduleJob(job, trigger);
return RedirectToAction("Index");
}
public class Jobclass:IJob
{
public void Execute(IJobExecutionContext context)
{
string sMailStatus = MyClass.mailTemplate("myEmail@gmail.com", "myEmail@gmail.com",
"Testing Email - " + DateTime.Now.ToShortDateString(), "Testing");
if (sMailStatus != "sent")
{
MyClass.mailTemplate("myEmail@gmail.com", "myEmail@gmail.com",
"Error : Testing Email", sMailStatus);
}
}
}