您好,我想看看是否有其他人遇到過這個問題,或者這可能是 WooCommerce 的一個功能。過去我一直使用 Zapier 來處理我的 WooCommerce 產品更新觸發器,這個觸發器只會在產品發生變化時觸發。
不過,使用 N8N 內建的 WooCommerce product.updated 功能時,它每分鐘都會隨機觸發 10 個產品通過我的工作流程,導致 SQL 和 API 負擔加重…我查看了剛剛通過 n8n 傳遞的產品日誌,發現上次產品更新的時間大約是一個月前。N8N 建立的 Webhook 是否有問題?有人之前見過這種情況嗎?
您的 n8n 設定資訊
- n8n 版本:2.18.1
- 資料庫(預設值:SQLite):預設
- n8n EXECUTIONS_PROCESS 設定(預設值:own, main):woocommerce trigger
- 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式):docker
- 作業系統:ubuntu 24
WC 的古怪行為,不是 n8n 的問題 — product.updated 會在庫存遞減、查閱表重新生成、銷售計數器增加、任何中繼資料寫入時觸發。在觸發器後添加一個 IF 節點,比較 date_modified 與現在的時間,只在最近修改過時才繼續執行。
根據你的觸發器頻率調整時間窗口。
感謝你們兩位。我終於找出是什麼導致產品隨機更新的。我也注意到之前從未想過。這也讓產品更新加倍,因為我用獲取產品更新來啟動 n8n,然後以產品更新結尾。所以我也造成了一個循環!
我用來解決這個問題的方法有點像是來自 @achamm 的建議
我添加了一個元資料「_n8n_updated」,並帶上 json.now 時間戳記。然後在 n8n wc 產品更新觸發器之後製作了一個篩選規則,以排除最後 5 分鐘的資料,這樣就不會重新處理相同的交易。我在 n8n 工作流程中的任何其他地方的 woocommerce 產品更新中都添加了相同的元資料。因為如果 n8n 處理了更新,就沒必要監聽產品更新。
感謝你們在批判性思維上的幫助,哈哈