Coldfusion 8预定任务没有运行?

时间:2012-12-03 17:28:21

标签: coldfusion scheduled-tasks

几个月前,我开始在一家公司担任网络开发人员,管理着许多Coldfusion应用程序。显然,许多年前已经建立了一个计划任务,并且工作正常,直到几年前它停止在以前的一个Web开发人员的工作下。没有人知道它为什么停止工作,但现在我的工作是解决它。这是我作为网络开发人员的第一份工作,当我开始工作时我不知道CF(几乎不知道它存在),而且我今天早上才开始学习预定的任务,所以只知道我是一个新手。

该文件是基本文件 - 它只是更新数据库中的表。如果您在浏览器中运行URL(这是他们过去几年一直在做的),它运行正常,一切都会更新。已设置为每晚运行的计划任务尚未更新文件。我已经尝试打开CF Admin中的日志,将其设置为今天早上不同时间运行,并且还告诉它手动运行,并且根据日志,它正在执行(没有错误),但文件是没有更新。我试着评论出大部分文件并告诉它发送基本的电子邮件,没有变量或任何东西,但我得到的结果相同。

有什么想法吗?我不知道从这里尝试什么。我尝试在网上寻找解决方案,但我发现的与我的情况类似的唯一帖子就是这样,人们似乎在暗示问题可能是调度程序无法使用的变量:

coldfusion scheduled task not sending emails

现在我的页面上没有变量。我尝试通过CFSCHEDULE运行任务,根据该页面上的建议,但我得到了与以前相同的结果。一些其他的建议(服务器监视器/ FusionReactor / cflog)我只是简单地不知道怎么做,所以我没有尝试过那些。

编辑:现在,这是页面中唯一没有注释掉的代码:

<cfmail 
    to="[e-mail address]"
    from="[e-mail address]"
    Subject="is it running at all?">
    Is it running?
</cfmail>

编辑2:好的,现在我在电子邮件代码之前和之后都有类似的内容:

<cflog 
text = "before e-mail"
application = "yes"
log = "Scheduler"
type = "information">

如果我实际转到文件的URL(并且还发送了电子邮件),我会看到日志消息,但如果我告诉它从CF管理员运行计划任务,则不会。因为当我在浏览器中打开文件时发送电子邮件,我认为这不是邮件服务器的问题。

编辑3:是的,电子邮件地址是简单的硬编码字符串。 我不完全确定Application.cfm文件的“覆盖”是什么意思。 Application.cfm文件位于站点的顶层,但不在此特定子目录中。有许多应用程序范围变量,但现在没有在文件中使用它们。

编辑4:谢谢您的解释。正如我所说,在CF方面总计n00b,所以我很感激帮助。此应用程序的Application.cfm页面将检查您是否已登录,如果不是,则将您重定向到登录页面。这可能是问题吗?

编辑5:YAY!这似乎是问题所在。谢谢你,谢谢你,谢谢你! Leigh,请将其作为答案提交,以便我可以选择。你是我的英雄!

1 个答案:

答案 0 :(得分:4)

(来自评论)

远景但是您在Application.cfm/Application.cfc文件所涵盖的目录中的预定任务?询问的原因是父Application.cfm文件中的代码首先在.cfm脚本之前执行。 Application.cfm文件中是否有任何代码中止请求或重定向(例如权限检查)?