多个模板同时运行

Kob*_*son 1 coldfusion

我计划每10分钟运行一次coldfusion模板,当前一次运行超过10分钟时,如何防止它运行.

不幸的是,当模板超时或计数器出错时,我尝试在应用程序范围内使用计数器变量.

PS.是否有用于集成应用程序的coldfuison框架(后端内容)

ora*_*ips 6

使用独有的命名cflock:

<cflock 
    timeout = "#createTimeSpan(0,0,0,1)#"
    name = "myProcess"
    throwOnTimeout = "no"
    type = "exclusive"> 
    <cfset start = now()>
    <!--- CFML to be synchronized. ---> 
    <cfset interval = 10 * 60> <!--- 10 minutes in seconds --->
    <cfif dateDiff("s", start, now()) GT interval>
        <cfhttp url="yourtemplate.cfm">
    </cfif>
</cflock>
Run Code Online (Sandbox Code Playgroud)

这确保只有线程运行有问题的代码块.同时访问将在一秒内失败而不会出错.

如果先前超过时间间隔,则确保下一次运行被启动,跟踪锁内的开始时间,然后在结束时,如果超过时间间隔,则将cflock内的最后一个语句作为对自身的cfhttp调用.