- ฝั่งที่สร้างงาน (เช่น เว็บตอนลูกค้ากดสั่งซื้อ) ส่ง ข้อความเข้า Queue ข้อความถูกบันทึกลงหลายเครื่องก่อนตอบกลับ แล้วเว็บตอบลูกค้าได้ทันที
- Worker รับ ข้อความไปทำ ข้อความถูกซ่อนจากคนอื่นตาม Visibility timeout และ Worker ได้
receiptของการรับครั้งนั้น ถ้ายังไม่มีข้อความ การรับรอได้สูงสุด 20 วินาที (long polling) - ทำเสร็จแล้ว Worker ลบ ข้อความด้วย
receiptข้อความจึงหายไปจาก Queue - ถ้า Worker ล่มหรือไม่ลบภายใน Visibility timeout ข้อความจะกลับมาให้ Worker ตัวอื่นรับต่อ และนับจำนวนครั้งที่รับเพิ่มขึ้น
- ถ้าตั้ง รับได้สูงสุด ไว้ ข้อความที่รับเกินจำนวนนั้นจะถูกย้ายไป Dead-letter queue ไว้ตรวจภายหลัง แทนที่จะวนไม่จบ
การตั้งค่าของแต่ละ Queue
| ตั้งค่า | ค่าเริ่มต้น | ช่วงที่ตั้งได้ |
|---|---|---|
| Visibility timeout | 30 วินาที | 0 วินาที – 12 ชั่วโมง (Worker ขอเปลี่ยนเป็นรายข้อความได้) |
| เก็บข้อความนาน | 4 วัน | 1 นาที – 14 วัน |
| Delay | 0 | 0 – 15 นาที (กำหนดรายข้อความได้) |
| รับได้สูงสุด | 0 (ไม่จำกัด) | 0 – 1,000 ครั้ง แล้วย้ายไป Dead-letter queue หรือทิ้ง |
ข้อความถูกส่งให้ Worker อย่างน้อยหนึ่งครั้ง ในกรณีที่เกิดน้อยมาก (เช่น เครื่องเสียระหว่างรับ) ข้อความเดียวกันอาจถูกส่งซ้ำ ให้ออกแบบงานให้ทำซ้ำได้โดยไม่เสียหาย เช่น ตรวจเลขออเดอร์ก่อนตัดสต็อก ลำดับข้อความเป็นแบบพยายามให้เก่าก่อน ไม่รับประกันลำดับเป๊ะ
ค่าบริการคิดตามจำนวน Request (ส่ง รับ ลบ และอื่น ๆ ทุก 64 KB ของข้อความนับ 1 Request) ขนาดข้อความที่รับออกไป และข้อความที่ค้างเก็บอยู่ใน Queue (คิดตามขนาดและเวลา Queue ที่ Worker ดึงทันแทบไม่เสียส่วนนี้) ไม่มีค่าขั้นต่ำรายเดือน ราคาปัจจุบันดูได้ที่หน้าราคา