【发布时间】:2012-12-01 21:52:45
【问题描述】:
我正在尝试设置我的第一个 Coldfusion 计划任务,但无法让它工作。我无权访问cfadmin,所以我需要使用cfschedule 标签。我正在设置这样的东西:
<cfschedule action = "update"
task = "taskManager"
operation = "HTTPRequest"
url = "path/to/task_manager.cfm"
startDate = "12/01/12"
startTime = "10:30 PM"
interval = "60"
resolveURL = "Yes"
publish = "No"
path = "#variables.baseUrl#"
requestTimeOut = "100">
我输入的是task_init.cfm。如果我在浏览器中打开此页面,则不会报告任何错误,但没有任何反应。
问题:
我知道在 CFAdmin 中需要允许计划任务。还有办法测试任务是否正在运行吗?该任务现在应该只是发送一封电子邮件,所以我可以查看它是否正常工作,但我什么也没收到,我很好奇我是否做错了什么。
谢谢!
编辑:
好的,所以我已经成功了一半。我可以这样列出任务:
<cfdump output="dump.txt" label="catch" var="#createobject("java","coldfusion.server.ServiceFactory").getCronService().listall()#">
这给了我所有当前计划的任务。
我现在这样调用我的任务:
<cfschedule
proxyport="80"
port="80"
action="update"
operation="HTTPRequest"
task="taskManager_init"
interval="60"
publish="NO"
requestTimeOut="500"
resolveurl="NO"
startDate="12/01/2012"
startTime="11:30:00 AM"
URL="http://www.page.com/t/task_manager.cfm"
>
当我调用然后转储所有任务时,会创建一个像这样的条目:
xx) [undefined array element]
代替:
xx) [struct]
disabled: NO
file: [empty string]
http_port: 80
http_proxy_port: 80
interval: xxxx
operation: HTTPRequest
password: xxxxxxxxxx
path: [empty string]
paused: NO
proxy_server: [empty string]
publish: NO
request_time_out: 500
resolveurl: NO
start_date: 12/12/2012
start_time: 1:00:00 AM
task: some task
url: xxxxx
username: xxxxxxx
我可以删除我的[undefined array element] 呼叫:
<cfschedule action = "delete" task = "taskManager_init">
所以,我可以添加/删除任务,但它们没有正确显示在列表中,因此没有按应有的方式执行。
知道我做错了什么吗? (除了周一打电话给我的系统管理员......)
谢谢!
【问题讨论】:
-
您的开始日期格式不明确。也许你和 cf 对它代表什么有不同的看法。
-
嗯。什么是更通用的格式? 2012:12:01 00:09:00?
-
我对 ansi/iso 标准很满意。 yyyy-mm-dd
标签: debugging coldfusion scheduled-tasks