Mono 排程 AI 任務為什麼沒有執行?
透過一次受控手動測試,排查 Mono 任務漏跑、本機時間變動、裝置可用性、步驟失敗與通知問題。
排程任務看起來停了的時候,先問三個問題:它開始了嗎?它完成了嗎?你收到通知了嗎?不同的答案對應不同的解決方法。
Mono 任務在你的裝置上執行,而不是在一直開著的伺服器上,而且手機系統可能會暫停背景中的 App。本文幫你在不產生重複操作的前提下,找出某次執行缺少的原因。Mono 還沒有正式推出,你可以加入候補名單。
1. 先查看執行紀錄
開啟「任務」,查看該任務的「過往執行紀錄」。確認時間、成功或失敗,以及每一步的結果。通知固然有用,但執行紀錄更能說明實際發生了什麼。
執行成功卻沒有通知,是通知的問題。執行失敗,是任務本身的問題。完全沒有執行紀錄,就要檢查排程、裝置或設定。
只會保留最近的執行紀錄,清除歷程會把它們全部刪除。所以,如果通知開啟的執行紀錄已經不存在,並不代表任務從未執行。如果任務會修改其他服務中的內容,也去那裡看看。在弄清楚發生什麼事之前,不要一直按「執行」。
2. 確認頻率與本機時間
確認任務已開啟,而且排程不是「手動」。Mono 提供每小時、每天、平日和每週的排程。要看實際的時間和日期,不要只看任務名稱。
任務依照裝置的時鐘執行。旅行或調整時鐘之後,把排程和裝置目前的日期、時間、星期幾對照一下。
測試時,在能讓 App 保持開啟的時候,選一個幾分鐘後的時間。如果今天的排程時間已過才建立任務,它不會為那個已經過去的時間補跑。測試前記下排程時間,這樣能分辨是執行晚了,還是排程本身不同。
3. 理解裝置可用性與補跑限制
任務在 Mono 於裝置上運作時執行。如果 Mono 還在等你完成裝置設定或連結,請先完成。
如果裝置關機或 Mono 關閉期間錯過了任務,下次開啟 App 時會補跑一次。它不會把錯過的每個整點都補上,所以離線好幾個小時,並不代表有好幾次執行在排隊。
在 iPhone 和 iPad 上,系統可能給 Mono 一點背景時間,用來完成已經開始的工作,但不會無限期地啟動新任務。如果某件事必須在準確的時間執行,即使你所有裝置都關著,請使用專門為此設計的服務。
4. 做一次受控手動測試
用少量輸入或無害的目的地,按一次「執行」。檢查各個步驟,以及 Mono 之外產生的任何影響。這樣不必等到下一次排程時間,就能測試任務。
| 觀察結果 | 接著檢查 |
|---|---|
| 手動執行也失敗 | 輸入、帳號登入、網路及失敗步驟 |
| 手動成功,排程執行缺少 | 任務是否開啟、排程、本機時間及裝置可用性 |
| 執行成功,沒有通知 | Mono 任務通知設定及系統權限 |
| 輸出出現兩次 | 重試前先查執行紀錄與目的地 |
手動執行也算一次執行。如果你在今天的排程時間過後手動執行,Mono 會把今天這次視為已完成。請留意下一次排程時間,不要期待測試之後馬上再執行一次。
5. 修好失敗步驟再重試
失敗的執行同樣算一次執行,所以在下一次排程時間之前,Mono 不會自動重試。根據步驟結果修正具體問題,然後有意識地再試一次。
例如,帳號連線過期需要重新登入,改排程解決不了。輸入可能為空時,要事先想好為空時怎麼處理。需要上網的步驟,要求相應服務可以連上。
如果任務有多個步驟,一步失敗不會讓其他步驟停下,後面的失敗也不會撤銷前面已完成的步驟。重試一個可能會再建立內容的任務之前,先到目的地看看是否已經建立過。
6. 確認下一次排程的結果
手動測試成功後,讓任務保持開啟,並在 App 可用的情況下觀察下一次排程執行。把它的時間和輸出與手動測試對照。
如果執行得太早或執行了兩次,先關閉任務並檢查目的地,再重試。
需要協助時,記下任務的排程、裝置時區、App 當時是否開啟、執行時間和失敗步驟。去掉私人輸入和密碼。可以用可靠自動化指南簡化不穩定的任務,或在重新排程之前先檢查剛建立的任務。
