設立排程 定時觸發,工作筆記,經驗筆記

 之前 的環境是以雲端為主, 只要將寫好的排程 放在 雲端排成器,再透過網頁介面管理好 設立好時間就會自動執行了。

那麼這次的環境是以 windows 本機為主。

windows 有內建工作排程器Schtasks.exe,可以透過CLI 指令(圖1) 也可以 透過 介面去設定。

CLI指令 建立排程(圖1)

工作排程器的介面,可在 控制台>所有控制台項目>系統管理工具 上查看。(圖2)

工作排程器介面的位置(圖2)




透過指令建立起來,可以在 工作排程器的介面上看到,也可編輯&管理。(圖3)

工作排程器(圖3)



檢查執行

如果執行錯誤,可以在windows 事件檢視器上查看。(圖4)

查看執行結果(圖4)

心得

這次用php 去執行 UpdateReportLives.php 有遇到些問題。

如果是用指令 去執行,要注意 執行的檔案位置。 在網頁呼叫api 可以成功,但是換成php.exe 去執行 就會遇到 錯誤,原因是 沒有切換到 該檔案的工作目錄。(圖5)

要記得加上 chdir(dirname(__FILE__))

切換到正確的工作目錄(圖5)

我本來想說 chdir(dirname(__FILE__)) ,這段可以放在公用檔,但是執行上也是會失敗,只好個別檔呼叫時,個別寫

----------------------------------------------------------------

此外 在設定排程前,可先在命令提示字元(cmd)去執行,看看是否會有warning 或 error (圖6)

即使在cmd 有出現warning ,程式在cmd能正常執行,但是如果沒去解決問題,在排程上執行 就會停止了,並有錯誤事件(圖7)

cmd 上執行(圖6)

排程強制停止(圖7)



留言