У нас есть API конечного пользователя для выполнения некоторых длительных (30 с-1 ч) операций с привязкой к процессору. Пользователь может создать задачу, опросить статус задачи много раз и, наконец, получить результат.
Внутри у нас есть очередь для задач и несколько работников, которые могут справиться с этими задачами.
Проблема возникает, когда Пользователь 1 создает много больших задач, а сразу после этого Пользователь 2 создает одну маленькую задачу. Пользователь 2 ожидает получить результат быстро, но все рабочие выполняют задачи пользователя 1. Задача от User1 находится в конце очереди.
Ожидается, что задачи от обоих пользователей будут обрабатываться циклически.
Есть ли готовое решение для решения такой проблемы?
(ОБНОВЛЕНИЕ) Нашел тот же вопрос: Какие очереди механизмы реализации циклических очередей?