Du kan uppnå detta genom att använda Redis-listor med en extra "utskickningskö" som alla arbetare BRPOP
på för sina jobb. Varje jobb i utskickskön är taggat med det ursprungliga kö-ID, och när arbetaren har slutfört jobbet går den till denna ursprungliga kö och utför RPOPLPUSH
in i utskickskön för att göra nästa jobb tillgängligt för alla andra anställda. Utskickskön kommer därför att ha maximalt antal_köer element.
En sak du måste hantera är den initiala populationen av utskickskön när källkön är tom. Detta kan bara vara en kontroll som görs av utgivaren mot en "tom" flagga för varje kö som ställs in från början, och även inställd av arbetaren när det inte finns något kvar i den ursprungliga kön att skicka. Om denna flagga är inställd kan utgivaren bara LPUSH
det första jobbet direkt in i utskickskön.