Error handling#
เวลาคุณออกแบบ flow logic ควรคิดถึงกรณี error และเตรียมวิธีรับมือไว้ด้วย ด้วย error workflow คุณสามารถควบคุมได้ว่า n8n จะทำอะไรเมื่อ workflow execution ล้มเหลว
Investigating errors
ถ้าต้องการตรวจสอบ execution ที่ล้มเหลว คุณสามารถ:
- ดู Executions ของ workflow เดียว หรือ ทุก workflow ที่คุณเข้าถึงได้ คุณสามารถ โหลดข้อมูลจาก execution ก่อนหน้า มาใช้ใน workflow ปัจจุบันได้
- เปิดใช้ Log streaming
Create and set an error workflow#
แต่ละ workflow สามารถตั้ง error workflow ได้ใน Workflow Settings ถ้า execution ล้มเหลว error workflow จะถูกรัน เช่น คุณอาจตั้งให้ส่ง email หรือ Slack alert เมื่อ workflow error โดย error workflow ต้องเริ่มด้วย Error Trigger
คุณสามารถใช้ error workflow เดียวกับหลาย workflow ก็ได้
- สร้าง workflow ใหม่ โดยมี Error Trigger เป็น node แรก
- ตั้งชื่อ workflow ตัวอย่างเช่น
Error Handler
- เลือก Save
- ใน workflow ที่คุณต้องการใช้ error workflow นี้:
- เลือก Options
> Settings
- ใน Error workflow เลือก workflow ที่คุณเพิ่งสร้าง ตัวอย่างเช่น หากคุณใช้ชื่อ Error Handler ให้เลือก Error handler
- เลือก Save ตอนนี้ เมื่อ workflow นี้เกิด error, error workflow ที่เกี่ยวข้องจะทำงาน
- เลือก Options
Error data#
ข้อมูล error เริ่มต้นที่ Error Trigger ได้รับคือ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
ข้อมูลทั้งหมดมีอยู่เสมอ ยกเว้น:
execution.id
: ต้องการให้ execution ถูกบันทึกในฐานข้อมูล จะไม่มีอยู่หาก error เกิดขึ้นใน trigger node ของ workflow หลัก เนื่องจาก workflow ไม่ได้ executeexecution.url
: ต้องการให้ execution ถูกบันทึกในฐานข้อมูล จะไม่มีอยู่หาก error เกิดขึ้นใน trigger node ของ workflow หลัก เนื่องจาก workflow ไม่ได้ executeexecution.retryOf
: มีอยู่เฉพาะเมื่อ execution เป็นการ retry ของ execution ที่ล้มเหลว
หาก error เกิดจาก trigger node ของ workflow หลัก แทนที่จะเป็นขั้นตอนต่อมา ข้อมูลที่ส่งไปยัง error workflow จะแตกต่างกัน มีข้อมูลใน execution{}
น้อยลง และมีข้อมูลใน trigger{}
มากขึ้น:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Cause a workflow execution failure using Stop And Error#
เมื่อคุณสร้างและตั้ง error workflow แล้ว n8n จะรัน workflow นี้เมื่อ execution ล้มเหลว ปกติจะเกิดจาก error ใน node หรือ workflow ใช้ memory เกิน
คุณสามารถเพิ่ม Stop And Error node ใน workflow เพื่อบังคับให้ execution ล้มเหลวตามเงื่อนไขที่คุณกำหนด และ trigger error workflow