Webhook: วิธีการตรวจสอบและแก้ไขปัญหา "หมดเวลา"

"หมดเวลา" หมายถึง Stripe สามารถสร้างการเชื่อมต่อไปยังเซิร์ฟเวอร์ของคุณได้ แต่เซิร์ฟเวอร์ใช้เวลาในการตอบกลับนานเกินไป Stripe คาดหวังให้เซิร์ฟเวอร์ของคุณตอบกลับด้วยรหัสสถานะ HTTP ในช่วง 200-299 ในทันที ซึ่งเป็นการระบุว่าระบบได้รับเหตุการณ์เรียบร้อยแล้ว

ลองทำตามขั้นตอนต่อไปนี้

  1. ตรวจสอบโค้ดประมวลผล Webhook และตรวจดูให้ดีว่าระบบส่งคืนรหัสสถานะ 2xx อย่างรวดเร็ว หากคุณจำเป็นต้องดำเนินงานที่ใช้เวลานานหลังจากที่ได้รับเหตุการณ์จาก Stripe คุณควรยอมรับการรับเหตุการณ์ดังกล่าวในทันที จากนั้นจึงดำเนินงานที่ใช้เวลานานในภายหลัง (ผู้ใช้หลายคนเลือกที่จะเพิ่มเหตุการณ์ที่ได้รับไปที่คิวภายในเพื่อประมวลผลเหตุการณ์แบบอะซิงโครนัสตามลำดับ)

  2. ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณดำเนินการได้ตามปกติ ตรวจสอบการใช้งานหน่วยความจำหรือ CPU ที่สูงผิดปกติ ปัญหาหน่วยความจำและพื้นที่ในดิสก์เต็ม รวมถึงข้อผิดพลาดหรือคำเตือนในบันทึกเซิร์ฟเวอร์