cicora.ai
ข้อกำหนด APIงานแบบอะซิงโครนัส

การดำเนินการแบบแบตช์

ประมวลผลการดำเนินการอิสระเป็นกลุ่มที่ควบคุมได้ เมื่อเวิร์กโฟลว์อนุญาตให้ส่งมอบแบบอะซิงโครนัส

เอกสารอ้างอิงการเชื่อมต่อ: เลือกพารามิเตอร์และความสามารถที่ใช้ได้จากการตั้งค่า API ของบัญชีและแค็ตตาล็อกโมเดลสำหรับสภาพแวดล้อมของคุณ

จำกัดการทำงานพร้อมกัน

ใช้คิวฝั่งไคลเอนต์ที่มีขอบเขต และส่งแต่ละงานผ่านคำขอที่เข้ากันได้ตามปกติ วิธีนี้ควบคุมโหลดโดยไม่ตั้งสมมติฐานว่ามีเอนด์พอยต์แบตช์ของเซิร์ฟเวอร์

โหมดแบตช์ของบริการเป็นสัญญา API แยกต่างหาก: ใช้เส้นทางและเนื้อหาคำขอของโหมดนี้ต่อเมื่อมีการเผยแพร่ในการตั้งค่าบัญชีหรือข้อกำหนด API แล้วเท่านั้น

การทำงานพร้อมกันแบบมีขอบเขตที่ไคลเอนต์ควบคุม
typescript
async function runWithLimit(items, limit, work) {
  const results = [];
  for (let offset = 0; offset < items.length; offset += limit) {
    const group = items.slice(offset, offset + limit);
    results.push(...await Promise.all(group.map(work)));
  }
  return results;
}

ควบคุมคิว

  • ทำให้รหัสงานภายในสร้างซ้ำได้ค่าเดิมเสมอ และไม่ซ้ำกันภายในการรันแต่ละครั้ง
  • แบ่งชุดที่มีขนาดใหญ่เกินไปออกเป็นกลุ่มที่จัดการได้
  • แยกความล้มเหลวของรายการหนึ่งออกจากความล้มเหลวของทั้งคิว

รวบรวมผลลัพธ์

เชื่อมผลลัพธ์กับรหัสภายในและเก็บสถานะของทุกงาน

อย่าลองงานทั้งหมดใหม่โดยอัตโนมัติ ให้ลองใหม่เฉพาะความล้มเหลวชั่วคราวหลังตรวจสอบ idempotency