我计划每10分钟运行一次coldfusion模板,当前一次运行超过10分钟时,如何防止它运行.
不幸的是,当模板超时或计数器出错时,我尝试在应用程序范围内使用计数器变量.
PS.是否有用于集成应用程序的coldfuison框架(后端内容)
使用独有的命名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调用.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |