asp.net网站会话超时问题
我已经使用Quartz Scheduler创建了ASP.NET站点.所有的工作都在背景中运行,网站上没有其他活动. Quartz调度程序每天安排24小时持续时间差距, 该调度程序中的工作花费了7到8个小时,但似乎经过一段时间的时间会话结束并且停止. 如何在所有时间内将页面保持24小时或如何避免此超时问题? 解决方案 您可以从 中增加会话的闲置超时 iis =>应用程序池=>高级设置 在所需的几分钟内增加时间.为您的案件更改Idle Time-out(minutes)从20到1440 其他解决方案 您可以在以下内部链接中找到yout答案: 如何在web.config中设置会话超时 或: 修改某些页面的最佳方法
8 2024-04-26
编程技术问答社区
如何在Quartz .net中把工作标记为耐用?
如何将我的IJob标记为耐用?我在Quartz .NET文档中找不到任何对此的参考,也没有使用任何XML作业配置.是否应该有某种属性,例如PersistJobDataAfterExecution,DisallowConcurrentExecution或IJob接口中的布尔属性? 解决方案 var job = JobBuilder.Create() .WithIdentity(typeof(TestJob).Name) **.StoreDurably(true)** .Build();
6 2024-04-23
编程技术问答社区
如何在Quartz.Net中使一个工作引发一个事件处理程序?
我有一个实例化石英调度程序的控制台应用程序. 我希望一份工作来提高活动处理程序,以便"母亲应用"称为特定方法. 问题在于,显然,工作类似乎与外部类相当孤立. 我确定有一个很好的方法可以做到这一点,但我还没有偶然发现. public class RestartJob : IJob { public RestartJob() { } public virtual void Execute(IJobExecutionContext context) { //Send Restart EventHandler Subscription to Console. } } 解决方案 我通过在包含调度程序逻辑的类上实现单身人士来解决我的问题. 起魅力.希望这可以帮助其他人解决我看来是"必备"功能的事情. public class Skeduler { private
12 2024-04-23
编程技术问答社区
从 Quartz.NET 2 迁移到 Quartz.NET 3 铸造错误
我的问题是关于从Quartz.net 2到3的升级,其中现在包括等待/异步方法.我遵循了迁移文档中的所有说明,但是我在以下initializaiton(标记行)上遇到问题: public partial class BMOSSService : ServiceBase { private EventLogger _eventLogger = new EventLogger("BMOSS"); private static ISchedulerFactory _scheduleFactory = new StdSchedulerFactory(); ****private static IScheduler _scheduler = _scheduleFactory.GetScheduler();**** private static readonly ILog _log = LogManager.GetLogger("BlackBox.BMOSS
12 2024-04-22
编程技术问答社区
在所有Quartz.NET IInterruptableJob上触发中断
我正在与石英调度程序合作,并试图关闭应用程序关闭时的所有作业.我有一项专业工作,可以做一个"持有"或"忙碌的等待",基本上直到它得到耐心等待的状况. . 由于一个新的集成点,这项工作是新的.该应用程序是使用Topshelf作为服务运行的,每当我们尝试关闭服务以升级它时,现在该作业正在运行,我们必须最终重新启动服务器才能关闭. 无论如何,这里很奇怪,我有一个JobType,当我尝试使用作业FireInstanceId或JobKey触发以下代码中的中断时: _logger.InfoFormat("{0} scheduler interrupting listener", scheduler.SchedulerName); scheduler.Interrupt(ListenerKeys.Realtime); _logger.InfoFormat("{0} scheduler shutting down", scheduler.SchedulerName); schedu
34 2024-04-22
编程技术问答社区
Quartz.NET远程调度器已经存在
我正在创建一个使用Quartz.net的应用程序,该应用程序在Windows服务中使用. ASP.NET上还有一个管理后端,管理员可以在其中添加作业并监视调度程序的状态.但是,我对ASP.NET后端有问题. 该连接是在Global.asax文件中进行的,该文件似乎起初工作起来 - 当用户登录主仪表板时,它可以正常工作.问题是当用户单击其他页面时,然后说"调度程序"已经存在. 这是我的Windows服务代码: NameValueCollection properties = new NameValueCollection(); properties["quartz.scheduler.instanceName"] = "schedService"; properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz"; properties["quartz.threadPool.th
8 2024-04-21
编程技术问答社区
在运行Quartz作业时对时区偏移进行补偿
我有一个独特的问题,因为我的石英作业调度程序实现了使用Quartz.net代码基础VER 2.0.1构建的,最近发现时区域和UTC偏移在运行和执行作业时被忽略.这是此版本的Quartz.net中的一个继承错误,并且更新到版本2.1.1现在不在范围内,因此我写了一种使用此算法来计算偏移的快速而肮脏的方法: (Servertime -Clienttime)-TargetTime = new_targetTime_with_offset 这里的想法是客户,他在纽约市说,他在下午5:00工作,希望它在下午2:00运行.服务器(此应用程序和作业服务器运行)当前时间为2:00 pm,因此我们花时间和服务器时间来获取偏移并将该偏移应用于目标时间,这是作业应运行的时间. 我的问题是,这感觉就像是计算日期的方式,但似乎可以完成工作.是否有更好/更可靠的方法来完成此日期数学?另外,这在边缘案例中似乎是越来越大的,我缺少什么? 这是实现: ///
12 2024-04-21
编程技术问答社区
Quartz.Net cron触发器每45分钟安排一个工作
我正在尝试使用Quartz.net创建一个工作 我试图使用 用cron tigger创建这个 cronexpression =" 0 0/45 8-5 * *?"; 但是,这无法按照我想要的方式工作. 查看Quartz.net教程后,建议实现此类工作需要使用两个触发器. 我对如何实施这一点有些困惑,任何人都可以就解决方案提供建议 解决方案 Quartz.net教程主要基于Quartz.net V1. 如果使用V2+,则可以使用以下触发定义: ITrigger trigger = TriggerBuilder.Create() .WithIdentity("trigger1", "group1") .WithDailyTimeIntervalSchedule( x => x.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0)) .E
16 2024-04-20
编程技术问答社区
用SQL Server AdoJobStore配置Quartz.NET
我很难尝试让Quartz.net与Adojobstore一起使用.这里的其他问题似乎都没有遇到我的问题.我能够在没有Adojobstore配置的情况下使其正常工作,但最终想坚持所有内容,但是当我尝试GetScheduler()>我不知道时,我会遇到错误. . 这是我的石英app.config部分:
22 2024-04-19
编程技术问答社区
如何使用Quartz调度器维护作业历史
我想维护由包含以下属性的石英调度程序安排的作业历史记录:'开始时间',"结束时间","成功","错误". 有两个接口可供选择:ITriggerListener和IJobListener(我使用的是接口的c#命名约定,因为我使用的是quartz.net,但是可以提出同样的问题Java版本). IJobListener具有JobToBeExecuted和JobWasExecuted方法.后者提供了JobExecutionException,因此您知道什么时候出现了问题.但是,无法将JobToBeExecuted和JobWasExecuted关联.假设我的工作跑了十分钟.我从t0和t0+2开始(因此它们重叠).我接到JobToBeExecuted的两个电话,然后将两个开始时间插入我的历史表.当两个作业都在t1和t1+2上完成时,我会收到两个电话JobWasExecuted.我如何知道要在每个呼叫中​​更新的数据库记录(以相应的开始时间存储结束时间)? ITriggerList
22 2024-04-18
编程技术问答社区
Quartz.Net的IJobFactory接口中ReturnJob的作用是什么?
我正在使用简单注射器作为ioc容器bue,我对 returnjob 的响应性是什么,我想知道如何继续? 这是我到目前为止所做的代码: public class SimpleInjectorJobFactory:IJobFactory { private readonly Container _container; public SimpleInjectorJobFactory() { _container= new Container(); } public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler) { return _container.GetInstance(bundle.JobDetail.JobType) as IJob;
8 2024-04-18
编程技术问答社区
如何在Quartz.net的任何时候开始工作?
我需要您的帮助来学习Quartz.net.但是每个样本都与彼此相同.我想开始时间:07.03.2012 13:28:10但行不通.不返回错误代码.如何开始? DateTime startdate = DateTime.Parse("07.03.2012 10:28:10", culture, System.Globalization.DateTimeStyles.AssumeLocal); // DateTime startdate = Convert.ToDateTime("07.03.2012 09:46:10", culture); //DateTime zaman = new DateTime(2012, 3,6,17, 12, 11); DateTime parsedStartTime = DateTime.SpecifyKind(startdate, DateTimeKind.Utc); DateTi
10 2024-04-16
编程技术问答社区
在 Quartz.Net 中调度依赖性工作
我需要一些帮助.我正在尝试弄清楚如何在Quartz.net中安排作业.石英中的作业与我的Web应用程序中的任务相对应,这些任务是我的Web应用程序中的工作.我希望用户能够按需启动作业(WebApplication上下文),并立即运行或安排将来的作业,并可能在给定的间隔上重复.我知道所有这些项目是如何在石英中单独完成的,但是我很难将所有这些物品放在一起. 例如,在我的Web应用程序中,我可能会按照特定顺序有几个任务的工作.我希望能够在石英中安排这些任务,以便它们以与我的Web应用程序中确定的相同顺序执行.有人知道如何做到这一点吗?我已经阅读了Quartz文档,说将下一份工作存储在Jobdatamap中,只是在努力. 我当前正在等待创建石英作业,直到用户请求安排工作或运行它为止.您是否认为我应该在Web应用程序中创建任务,然后从任务对象中提取该信息以在Quartz中进行调度? 解决方案 在第二段中:如果我正确理解您,您将拥有一组作业,用户可以从中选择并按照某些执行顺序进行
10 2024-04-15
编程技术问答社区
Azure 应用服务中的 Quartz 设置失败
我有一个Azure应用程序启动和运行. Spring Boot应用已部署.当我尝试在Spring Boot应用中添加Quartz Scheduler设置时,它在本地工作正常.但是,当我们转到Azure应用程序时,调度程序设置未使用以下消息启动. 基本上,它寻找主机名,在Azure App服务中,我们可以找到主机名吗?解决主机名需要任何配置吗? 2020-05-08 11:35:57.155 ERROR 123 --- [main] org.quartz.impl.StdSchedulerFactory : Couldn't generate instance Id! org.quartz.SchedulerException: Couldn't get host name!at org.quartz.simpl.SimpleInstanceIdGenerator.generateInstanceId(SimpleInstanceIdGenerator.java:36
8 2024-03-26
编程技术问答社区
在Tomcat 8的spring mvc网络应用中,使用quartz 2.2调度器试图调用服务类方法时获得空指针异常。
我有使用Spring 3.2和Tomcat 8的Web应用程序. 我使用quartz 2.2安排任务. 我的控制器类是: @Controller public class StatusController implements Job { @Autowired WebContentDefinitionService webContentDefinitionService; public void execute(JobExecutionContext arg0) throws JobExecutionException { System.out.println("Starting Job"); try { webContentDefinitionService.deletePurgedContents(); webContentDefiniti
10 2024-03-21
编程技术问答社区
如何在我的石英配置中动态地添加一个字段?
我在我的web.config中有一个石英配置部分,我想向其添加一个键值字段. (我知道我可以去web.config并手动添加它,但这会破坏目的) 我尝试使用这种方式 var config = (NameValueCollection)WebConfigurationManager.GetSection("quartz"); config.Add("quartz.dataSource.quartzDS.connectionString", "data source =.."); 但是它失败了,因为收集仅读取并且无法修改.关于如何执行此操作的提示? 编辑:我最终将配置复制到nameValueCollection,然后将其复制到另一个(对于ReadOnly属性)添加我想要的键值并将其传递给我需要的函数. var oldConfig = (NameValueCollection)WebConfigurationManager.GetSection("quartz");
8 2024-03-16
编程技术问答社区
如何为简单的HelloWorld实现Quartz.net Scheduler?
以下代码产生以下错误: Imports Quartz Imports Quartz.Impl Public Class InsertRssFeedJob Implements IJob Public Sub Execute(context As JobExecutionContext) Dim rssContoller = New RssController() rssController.InsertRssFeedItem("") End Sub End Class 错误1类'insertrssfeedjob'必须实现'sub execute(上下文为ijobexecutioncontext)'forterface'quartz.ijob'. c:\ users \ darchual \ documents \ visual Studio 2010 \ projects \ myblog \ myblog \ qu
30 2024-03-14
编程技术问答社区
安排每周执行一次的 Quartz.NET 触发器
我需要安排Quartz.net触发器,以便它在每个星期一的09.00发射.因此,我试图使用以下某些功能,但我认为它不是正确的,因为参数不逻辑(它适用于每天的日程安排,但是在更改之后,它却没有).那么,您能举一个每周执行工作的例子吗? ITrigger trigger = TriggerBuilder.Create() .WithDailyTimeIntervalSchedule (s => s.WithInterval(1, IntervalUnit.Week) .OnDaysOfTheWeek(DayOfWeek.Monday) .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(9, 0)) ) .Build(); scheduler.ScheduleJob(job, trigger); 解决方案 ITrigger trigger= Trigger
4 2024-03-14
编程技术问答社区