11
计划任务是否以与网页相同的方式加载Application.cfc?我们有一个每晚运行的任务,需要使用加载到应用程序中的服务cfc。应用程序作用域的存在方式与调用标准网页时的方式相同吗?是否有任何不同或需要注意的问题?计划任务是否以与网页相同的方式加载Application.cfc?
计划任务是否以与网页相同的方式加载Application.cfc?我们有一个每晚运行的任务,需要使用加载到应用程序中的服务cfc。应用程序作用域的存在方式与调用标准网页时的方式相同吗?是否有任何不同或需要注意的问题?计划任务是否以与网页相同的方式加载Application.cfc?
CF任务计划程序对您在任务中指定的URL进行HTTP调用,因此所有标准规则都适用。运行Application.cfm/application.cfc,应用程序范围存在,等等。
唯一需要注意的是,调度程序本身不会识别错误,因此您应该以错误记录,发送电子邮件等方式编写任务。而且,在测试过程中,可能会取得成功。
编辑: Sergii指出了一些我忽略的东西。调度程序不维护cookie。它更像一只蜘蛛。因此,会话或客户端范围内的任何内容或写入Cookie的内容都不会实际存储,并且在下次执行操作时将丢失。
唯一的区别在于每个请求上都会创建新会话。 – Sergii 2010-03-03 17:43:50
这很有趣,我在调度任务中使用Application.cfc中设置的应用程序范围变量得到了不一致的结果。基于此,我将重新调查这些问题,而这些问题之前我曾经努力过。 – Jay 2010-03-04 13:43:01
我也看到了怪异,这就是为什么我倾向于使自己的计划任务。我认为当它是一个无头浏览器请求时,如OnSessionStart()或OnRequestStart(),某些方法不会触发。 – ale 2010-03-04 14:23:22