Each task has a
priority field giving its relative priority, chosen from a
small set of named priorities. When several tasks are pending in the same
queue, those with the highest priority will be executed first.
Note that this can result in starvation: if there are enough tasks at a given priority to keep all available workers busy, then no tasks of lower priority will run.