I’d like a queue called :foo which processes Foo jobs. Foo jobs have a key argument. I’d like jobs with the same value of key to execute one after another, but if two Foos have different key, they can execute at the same time.
This sounds really similar to the Unique jobs feature, but to my best understanding, Unique isn’t quite it because if there’s a Foo with key “A” in the queue, and another Foo “A” attempts to enqueue, it won’t enqueue. That’s a roundabout way of saying I want to be able to enqueue as many Foo "A"s as possible, but only one can execute at a time.






















