設立排程 定時觸發,工作筆記,經驗筆記
之前 的環境是以雲端為主, 只要將寫好的排程 放在 雲端排成器,再透過網頁介面管理好 設立好時間就會自動執行了。
那麼這次的環境是以 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) |
----------------------------------------------------------------
此外 在設定排程前,可先在命令提示字元(cmd)去執行,看看是否會有warning 或 error (圖6)
即使在cmd 有出現warning ,程式在cmd能正常執行,但是如果沒去解決問題,在排程上執行 就會停止了,並有錯誤事件(圖7)
| cmd 上執行(圖6) |
| 排程強制停止(圖7) |
留言
張貼留言