WooCommerce 會透過 Scheduled Actions 處理電郵、Webhook、付款更新、訂閱續期和資料庫工作。當背景任務延遲或失敗,表面症狀可能只是顧客收不到通知、分析數據未更新或訂單狀態停滯,因此管理員需要從任務佇列、WP-Cron、錯誤日誌和伺服器資源逐層排查。
了解 WP-Cron 與 Action Scheduler
WP-Cron 是 WordPress 的排程觸發機制,通常在網站收到請求時檢查到期工作。Action Scheduler 則是 WooCommerce 使用的可追蹤任務佇列;WP-Cron 觸發它後,它再分批處理等待中的動作。兩者任何一層失效,都可能造成延遲。
開啟 Scheduled Actions
到 WooCommerce > Status > Scheduled Actions。介面可按 Pending、Complete、Failed、Canceled 或 In-progress 查看工作,並可用 hook、日期或 group 搜尋。先記錄異常數量和最舊時間,不要一進入便大量執行或刪除。
分辨短暫積壓與真正故障
少量剛到期的 Pending 工作不一定代表故障,繁忙商店可能正分批處理。若大量工作逾期數小時、數量持續增加,或關鍵付款及電郵長時間沒有完成,才需要深入調查。
查看失敗工作的 Log
開啟單一 Failed action,記錄 hook、group、scheduled date、arguments 和完整 log。錯誤時間、外掛名稱、訂單編號及例外訊息能協助定位來源。分享日誌前要遮蓋客戶資料、密鑰、路徑和付款資訊。
先確認影響範圍
找出是單一訂單、單一外掛,還是所有背景任務受影響。若只有特定 hook 失敗,優先檢查負責該 hook 的外掛;若多個無關 group 同時逾期,較可能是 WP-Cron、PHP、資料庫或主機資源問題。
檢查 WP-Cron 是否有觸發
低流量網站可能因沒有訪客而延遲,高流量網站亦可能因工作過多造成競爭。查看 Site Health、主機 Cron 日誌和最近執行時間。需要穩定時,可由主機設定真正的伺服器 Cron 定時呼叫 WordPress 排程,但先確認現有設定,避免重複觸發。
檢查 PHP 時限與記憶體
任務可能因 PHP 執行時間、記憶體、程序數或 CPU 限制中斷。到 WooCommerce > Status 查看 Server environment,再對照主機監控及 PHP error log。不要單純把限制調到極高;先找出哪個任務消耗異常。
對照 WooCommerce 日誌
到 WooCommerce > Status > Logs,選擇與出錯時間和功能相關的日誌來源。付款閘道、Webhook、電郵或資料庫更新通常會留下更具體訊息。把 Action Scheduler 時間線與 PHP、Web server 和 WooCommerce 日誌排列比較。
謹慎使用 Run
Pending 工作可手動 Run,但執行可能立即寄信、扣款、呼叫外部 API 或改變訂單。先確認工作用途、是否已在外部完成及是否具有冪等設計。付款、退款和顧客通知尤其不能盲目重跑。
不要隨意取消或刪除
取消任務可能令續期、通知、同步或清理永遠不會發生。大量刪除記錄也會失去調查線索。只有在外掛官方文件、供應商支援或完整測試證明工作已失效時,才處理舊任務,並先備份資料庫。
排查外掛與版本衝突
先確認 WordPress、WooCommerce、付款閘道和相關擴充版本相容。於 staging 重現問題,使用預設主題及最少外掛做衝突測試。正式商店不要在營業高峰直接停用付款、訂閱或物流外掛。
檢查資料庫與任務表
大量工作會增加資料庫查詢和儲存負擔。檢查資料庫空間、慢查詢、鎖定及表格錯誤。不要手動修改 Action Scheduler 資料表;先讓主機或熟悉 WooCommerce 的開發者分析,再使用官方工具或安全維修流程。
建立監察基準
每天記錄 Pending、Failed、最舊逾期時間及關鍵 group。為訂單電郵、Webhook、訂閱和付款建立測試交易,並設定錯誤通知。趨勢監察比等顧客投訴後才查看後台更可靠。
修復後完成驗證
確認新工作能準時由 Pending 轉為 Complete,失敗數量不再增加。再核對實際結果:電郵是否送達、付款平台是否一致、Webhook 是否收到成功回應、訂單和庫存是否正確。最後記錄原因、修復和預防措施。
參考資料
WooCommerce 官方 Scheduled Actions 文件:https://woocommerce.com/document/understanding-the-woocommerce-system-status-report/scheduled-actions/
WooCommerce 官方 System Status 文件:https://woocommerce.com/document/understanding-the-woocommerce-system-status-report/









