2013-02-07 106 views
1

有沒有辦法檢測腳本是否由計劃任務運行。如何檢測腳本是否通過計劃任務運行

我有一個腳本,它會拋出一個ClientAbortException,因爲我使用的是cfflush。 我需要檢測腳本是否通過計劃任務運行,以便腳本可以成功運行。

+1

這是一個重複的qustion http://stackoverflow.com/questions/13977831/how-do-i-determine-if-a-scheduled-task-was-ran-automatically-or-ran-in-a-瀏覽器/ 13978558#13978558 – Travis

+0

下面是關於錯誤的東西 - http://stackoverflow.com/questions/12141659/connection-reset-by-peer-socket-write-error-cfcontent-on-coldfusion-10。似乎很奇怪,因爲它似乎意味着任務調度程序在請求完成之後但完成之前正在終止與服務器的連接。 – Barry

+0

您也可以考慮使用cgi.remote_addr來確定它是否爲計劃任務。它包含發出請求的遠程主機的IP地址。對於計劃任務,它將是您服務器的IP地址。 – Barry

回答

3

看來,您可以通過CGI.HTTP_USER_AGENT檢查:

<cfif CGI.HTTP_USER_AGENT NEQ "CFSCHEDULE"> 
    <cfflush> 
</cfif> 
1

這是一個重複的問題,如特拉維斯說,但另一種答案是,你可以URL參數添加到計劃任務類似汽車? =這將允許您檢查url作用域以確定它的運行方式。

+0

,如果你願意,也可以繞過瀏覽器中的cfflush。 – Travis

相關問題