.net - 如何设置服务器在长时间不活动后启动 cron
问题描述
我的项目是在 .NET5 环境中制作的 示例:我使用 Cron 和任务发送电子邮件设置了 Quartz.NET 时间表,一切都在短时间内完成。在测试服务器上,我设置了一天的间隔 - 最终它将是每周一次。此外,我使用设置配置了连接到项目的池。不幸的是,Cron 没有在第二天启动 - 在服务器上您还应该注意什么?
q.AddJob<SendEmailQualityControlJob>(opts => opts.WithIdentity(jobKey));
// Create a trigger for the job
q.AddTrigger(opts => opts
.WithIdentity("SendEmailQualityControlJob-trigger").WithCronSchedule("00 00 10 ? * WED ").ForJob(jobKey).StartNow());
根据以下建议:
https://newbedev.com/quartz-net-scheduler-doesn-t-fire-jobs-triggers-once-deployed
https://www.py4u.net/discuss/1170832
启动模式:AlwaysRunning 限制间隔(分钟):0 常规时间间隔(分钟):0
服务器上的服务在 50 分钟后被取消
2021-09-15 14:24:50.6055||INFO|Microsoft.Hosting.Lifetime|应用程序正在关闭... 2021-09-15 14:24:50.6055||INFO|Quartz.Core.QuartzScheduler|调度程序 QuartzScheduler_$ NON_CLUSTERED 正在关闭。2021-09-15 14:24:50.6198||INFO|Quartz.Core.QuartzScheduler|Scheduler QuartzScheduler $ NON_CLUSTERED 暂停。2021-09-15 14:24:50.6198||INFO|Quartz.Core.QuartzScheduler|调度程序 QuartzScheduler$_NON_CLUSTERED 关机完成。2021-09-15 14:24:50.6346||INFO|AppForSellers.Infrastructure.QuartzNET.Service.SendEmailQualityControlServiceHostService|Usługa SendEmailQualityControlServiceHostService została zatrzymana。2021-09-15 14:24:50.8126||错误|AppForSellers.Infrastructure.QuartzNET.SendEmailQualityControlJob|没有发送电子邮件 System.Threading.Tasks.TaskCanceledException:任务被取消。在 C:\Projekty\TLC Spiral Stairs\AppForSellers\Infrastructure\QuartzNET\Service\SendEmailQualityControl.cs: 158 行中的 AppForSellers.Infrastructure.QuartzNET.Service.SendEmailQualityControl.ExecuteJobSendEmail(CancellationToken stoppingToken)
解决方案
推荐阅读
- python - 使用 elasticsearch dsl 索引数据时出错
- spring - 在 Spring JPA 规范的连接子句中使用“有”
- session-cookies - Web2py 禁用每个控制器的会话 cookie
- javascript - React 项目 - 搜索页面没有从 API 渲染搜索结果
- php - 动态 where 语句有效
- python - zeppelin 记事本中的 Python matplotlib.pyplot
- reactjs - 在另一个组件中访问一个反应组件方法
- php - PHP Com Excel 应用过滤器
- python - 如何从古腾堡自动下载书籍
- html - 文本溢出填充