InfinityFree 安裝 WordPress 跑 Woocommerce 外掛,為何統計總是不正常

InfinityFree 可以安裝 WordPress,也可以安裝 Woocommerce 外掛,但是當你測試下訂單再去看後台的 Woocommerce 的分析數據時,會發現怎麼訂單數字都是「0」?

這不是你的問題,而是 InfinityFree 提供的免費帳戶關閉了 Cron jobs。


Cron jobs 是什麼? 為何關閉後會讓 Woocommerce 不正常呢? 

因為 Woocommerce 很多工作都依靠 Action Scheduler 在運作,而 Action Scheduler 會運作就是依賴 Cron jobs。

Cron 是一款基於時間的任務管理系統,使用者們可以通過 cron 在固定時間、日期、間隔下,執行定期任務。InfinityFree 不提供 cron 給免費帳戶是為了安全與效率因素,因為如果免費帳戶用 了太多的 cron jobs,會浪費資源拖垮其他使用者。

如果你去後台觀察,就可以看到如下圖 : 


以上如果很多行程都沒有「完成」,就是因為 Action Scheduler 無法運作了。

因為效率問題,Woocommerce 不會在處理訂單時把彙整的動作一起做,他只會做寫入的動作,因此很多關聯的資料就必須靠 Action Scheduler 把正確的數據彙整後寫入該寫入的地方。

你可能還有疑問,為何並不是所有行程都無法完成? 

雖然 InfinityFree 限制了系統級排程 (System Cron),但你看到的「已完成」動作通常是由於 WordPress 特有的運作機制所致。

InfinityFree 這種免費空間通常會限制「長時間運行的腳本」或「回路請求 (Loopback Requests)」。他們「關閉 Cron」通常是指: 不允許你設定每分鐘執行的系統排程 (System Cron/Crontab),但不一定能完全阻止 WordPress 核心程式在網頁載入時啟動的內部排程。

那麼有辦法解決系統級排程 (System Cron) 被關閉嗎? 你必須知道被停止的 Action Scheduler 做哪些事情,然後手動去執行,後續再來提供更多資訊。


張貼留言

0 留言