我正在尝试设置我的第一个 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">
因此,我可以添加/删除任务,但它们没有正确显示在列表中,因此不会按应有的方式执行。
知道我做错了什么吗?(除了周一打电话给我的系统管理员......)
谢谢!