我想找到最好的方式来实现石英超时,但我想知道如果这个框架已经包含一个类或接口来做到这一点。需要实现它的超时是因为我想知道工作已经工作了多长时间,并且关掉了工作。如何用Quartz实现超时?
6
A
回答
8
由于java平台不提供任何方法来停止线程,Quartz不提供任何方式来停止在线程上执行的作业。
作业需要自己照顾自己,因为Quartz不知道execute()方法中的代码是什么。
我建议在工作开始时使用System.currentTimeMillis()execute()方法记录当前时间,然后每次通过作业的主循环时再次使用它来获取当前时间。看看它们的差异,看看你的最大时间是否已经过去,如果超过了你的主循环并退出execute()方法。
+1
另请参阅InterruptableJob界面。 JobListener接口为您提供了一些工具,可以将一些简单的功能添加到满足您需求的框架中。 – jhouse 2011-07-15 13:51:05
相关问题
- 1. fcntl.flock - 如何实现超时?
- 2. 如何在ServiceStack中实现Quartz
- 3. Quartz JobStoreTX超时已过期
- 4. 如何实现getline()的超时?
- 5. 如何实现套接字超时?
- 6. 如何在使用sync.WaitGroup.wait时实现超时?
- 7. 实现通信超时
- 8. 在HTTP中实现超时
- 9. 在c中实现超时#
- 10. 实现超时功能/块
- 11. 在webviews中实现超时
- 12. 套接字超时实现
- 13. 如何在此流上不支持超时时实现.NET Stream超时
- 14. 如何使用boost :: asio :: read_some实现超时?
- 15. 如何实现会话超时页面使用asp.net mvc的
- 16. C++:如何实现任意函数调用的超时?
- 17. Quartz调度程序可以实现吗?
- 18. 在Spring中获取Quartz JobStore的实现
- 19. 如何在Quartz调度器中实现排队?
- 20. 如何在超时时段实现Get-Credential
- 21. Excel VBA:如何实现定时器来检查代码超时
- 22. 带显示超时错误消息的ASP .NET超时实现
- 23. 如何在grails中实现请求超时?
- 24. 如何在Java中实现会话超时?
- 25. 如何实现在线预订系统的超时
- 26. 我如何在iPhone中实现会话超时?
- 27. 如何在java中实现高效超时
- 28. 如何实现带有超时的ServiceStack Redis客户端
- 29. 如何在android中实现请求超时?
- 30. Laravel如何实现会话超时后锁定屏幕
试试endTime参数吗? http://www.quartz-scheduler.org/docs/tutorial/TutorialLesson05.html – Sean 2010-08-24 14:45:55
嗨,感谢您的询问,我真的没有使用过,因为我认为这个参数只是在某个时间结束工作。我想知道这项工作做了多长时间以避免无限循环 – Jorge 2010-08-24 14:51:32
好的,所以您正在寻找一种方法来跟踪调度器的正常运行时间,然后超时。尝试查看听众的文档。我没有使用它们,但它们看起来像是监视应用程序运行状态/时间的合理选择。 – Sean 2010-08-24 15:10:04