Thứ tự dequeue mặc định mà tôi tin là có trước xuất trước, do đó chúng sẽ được xếp lại theo thứ tự đã xếp.
Đối với điểm thứ hai của bạn, bạn đang nói rằng bạn muốn tuần tự hóa dequeue trên id không phải là duy nhất? Tức là, về cơ bản bạn có nhiều hàng đợi trong hàng đợi của mình và bạn chỉ muốn một công việc tiêu thụ các thông báo tạo thành mỗi hàng đợi tại một thời điểm bất kỳ?
Tức là bạn có tin nhắn:
1 | a
2 | a
3 | b
4 | a
Ở đây bạn có hai loại bản ghi (a và b) và bạn muốn 1 công việc tiêu thụ tất cả a và một công việc khác tiêu thụ tất cả b. Nếu trường hợp đó xảy ra, có lẽ hãy xem xét việc tạo nhiều hàng đợi?
Nếu không có nhiều hàng đợi, hãy xem loại dequeue_options_t mà bạn chuyển cho thủ tục dequeue - đáng chú ý nhất là dequeue_condition - điều này cho phép bạn chỉ chọn các thông báo cụ thể, vì vậy bạn có thể bắt đầu một công việc cho tất cả a và khác cho tất cả b, v.v.