使用cfinclude的ColdFusion调度任务?

使用cfinclude的ColdFusion调度任务?,coldfusion,scheduled-tasks,coldfusion-9,Coldfusion,Scheduled Tasks,Coldfusion 9,我有15个单独的.cfm页面,这些页面安排在单独的夜间进程中。所有这些我都想放在一个页面中,并包括所有其他页面,以便一个接一个地运行。我尝试过这样做,在ScheduleTask.cfm中,我包括: <cfinclude template="page1.cfm"> <cfinclude template="page2.cfm"> <cfinclude template="page3.cfm"> 每个my Include都从cfquery生成excel页面。我是

我有15个单独的.cfm页面,这些页面安排在单独的夜间进程中。所有这些我都想放在一个页面中,并包括所有其他页面,以便一个接一个地运行。我尝试过这样做,在ScheduleTask.cfm中,我包括:

<cfinclude template="page1.cfm">
<cfinclude template="page2.cfm">
<cfinclude template="page3.cfm">
每个my Include都从
cfquery
生成excel页面。我是否也应该尝试在包含项周围设置catch块,以及我还应该检查哪些内容

我也厌倦了使用struct和循环来解决这个问题:

<cftry>
    <cfset rptCFMFiles = {
            file1 = "page1.cfm",
            file2 = "page2.cfm",
            file3 = "page3.cfm",
        }>

    <cfloop collection="#rptCFMFiles#" item="key">
        <cfoutput>
            <cfinclude template="#rptCFMFiles[key]#">
        </cfoutput>
    </cfloop>

    <cfcatch>
        <cfdump var="#cfcatch#">
    </cfcatch>
</cftry>

如果有人能帮忙,请告诉我

您的具体错误是,至少有两个包含的文件具有或包含一个名为
standardSelect
的函数的.cfm页面。你必须找到所有这些函数,并为此做些什么。你做什么取决于你发现的细节


你的总体想法是我们实际做的事情。我们还有一些你可能没有想到的细节。我们有一个自定义标记可以在
上展开。一个简单的方法是在一个cfm中多次使用cfhttp来调用每个URL。连续的。您计划了一个cfm,它运行所有的cfhttp。

您有任何关于如何以及什么是最好的组织方式的示例吗?我在每个报告中都有输出,这些报告将显示在屏幕上,其中包含报告名称、时间和日期等信息。另外,最好将每个报告保存在单独的.cfm文件中,或者将它们全部放在一个.cfm文件中。我不确定这是否会导致任何问题,以及任务执行速度是否有任何差异。礼貌地说,计划作业输出到屏幕的概念是不寻常的。如果我在生成报告时输出时间和日期,我看不出有什么不寻常。无论如何,谢谢你的帮助。我想这是不寻常的,因为没有人会看到输出-除非你以某种方式记录它或通过电子邮件发送输出。我编写了一个单独的调度工具(w/CF前端)来生成运行BAT文件和CURL请求的CRON任务(保存结果和API回调)这样脚本就可以串行执行,并且单个CF错误不会中止整个过程。这种方法是可移植的,不需要超时,也不需要任何CFThreads。(由于CFSchedule admin中的限制,我开始这样做。)@JamesMoberg您可以展示您使用的工具的任何示例吗?谢谢。我在Windows上使用nnCron LITE。我使用CF生成一个纯文本CRONTAB文件。每个任务执行一个BAT文件,其中包含1个或多个web请求(或非web请求)。下面是示例CRONTAB和BAT文件:这是一个有趣的解决方案。它不必担心相互依赖
<cftry>
    <cfset rptCFMFiles = {
            file1 = "page1.cfm",
            file2 = "page2.cfm",
            file3 = "page3.cfm",
        }>

    <cfloop collection="#rptCFMFiles#" item="key">
        <cfoutput>
            <cfinclude template="#rptCFMFiles[key]#">
        </cfoutput>
    </cfloop>

    <cfcatch>
        <cfdump var="#cfcatch#">
    </cfcatch>
</cftry>
Detail: The routine standardSelect has been declared twice in different templates.
Message: Routines cannot be declared more than once.