现在这可能是一个非常模糊的问题,但计划任务有多可靠?例如,如果我设置一个任务,每天下午3点做一些事情,并假设代码中没有错误,ColdFusion会不会确保它每天下午3点运行?
答案 0 :(得分:4)
我们过去常常使用计划任务来每周,每天,每小时,每分钟和每秒运行一次。运行时间不到一分钟,我们必须hack neo-cron.xml
文件,总体来说,它工作得很好,直到ColdFusion 9.0.1 - see here - 然后我们不得不搬出运行更多的任务经常不到一分钟到另一个调度程序。
我们决定VisualCron并且没有回头。与CF调度不同,VisualCron允许我们运行命令行任务,而不是只访问有时不必要的URL。
CF10 apparently对计划任务引擎进行了重大更改,因此了解它们的改进应该会很有趣。但对于间隔大于一分钟的任务,当前的CF调度引擎非常可靠。
希望有所帮助!
答案 1 :(得分:4)
我会说是,它会在每个下午3:00运行,如果它是计划,你的COLDFUSION服务器正在运行(非常重要;))。 我经常使用它。我的一个项目中有近25个时间表,用于生成每日报告和电子邮件统计信息。在计划页面上确保您的页面没有超时,因为如果您在错误时记录/发送电子邮件,则此错误将无法通过ColdFusion onError方法捕获,或者您永远不会知道该脚本未正常运行。
答案 2 :(得分:1)
根据我的经验,他们非常可靠。我们将它们用于每日和每周运行的许多自动化任务。永远不要让我们失望。
作为支票,在程序中添加一封电子邮件,这样如果您收到每日电子邮件,就会知道计划任务已运行。如果不是出了什么问题,但除非你的网络服务器或冷冻停止,一旦它的所有设置它应该顺利航行。
答案 3 :(得分:1)
当您设置计划任务时,无论何时捕获错误,CF都将始终运行。这意味着,下一个计划任务将作为上一个任务捕获错误的间隔时间运行。
答案 4 :(得分:0)
根据我的经验,他们非常可靠。
如何判断任务是否
对于Railo服务器,查看任务是否运行或了解任务状态的一种方法是检查“scheduler.log”。这通常位于/ WEB-INF / railo / logs目录中。在这里你可以看到任务是否执行,是否超时等等。
对于CF服务器,您可以通过创建一个如下所示的对象来设置一组计划任务,然后只需循环或cfdump它:
<cfset arySchedTasks = createobject("java","coldfusion.server.ServiceFactory").getCronService().listall() />