Вероятно, одним из подходов будет введение приоритетов задач.
Например, в зависимости от предполагаемого времени выполнения задачи - различать маленькие (S), средние (M) и большие (L).Затем задачи с разными приоритетами будут отправляться в разные очереди.Итак, наконец, user
может опрашивать все приоритетные очереди (S, M и L) для своей конкретной задачи и быстрее находить результат, чем ожидание в одной очереди.
Может быть несколько вариантов этого подхода,Например, user
может самостоятельно различать S / M / L и точно знать, какую очередь следует опросить (таким образом исключается опрос всех очередей).В качестве альтернативы может существовать некоторый компонент / служба dispatcher
, который сделает это глобально и уведомит users
, какую очередь им следует опросить.