私が信じるデフォルトのデキュー順序は先入れ先出しであるため、エンキューされたのと同じ順序でデキューされます。
2つ目のポイントとして、非一意IDでデキューをシリアル化することをお伝えしますか?つまり、基本的にキュー内に多数のキューがあり、一度に1つのジョブだけが各キューからのメッセージを消費するようにしたいですか?
つまり、メッセージがあります:
1 | a
2 | a
3 | b
4 | a
ここでは、2つのタイプのレコード(aとb)があり、1つのジョブですべてのaを消費し、別のジョブですべてのbを消費する必要があります。その場合は、おそらく複数のキューを作成することを検討してください。
複数のキューに障害が発生した場合は、デキュープロシージャに渡すdequeue_options_tタイプ(特にdequeue_condition)を確認してください。これにより、特定のメッセージのみを選択できるため、すべてのaに対してジョブを開始し、すべてのbに対して別のジョブを開始できます。