POST /enqueue
-- поставить таск в очередьGET /peek
-- посмотреть на очередь
- Отработанные задачи убираются из очереди и переносятся в список
results
(чтобы видеть вычесленные результаты). - Для хранения данных использую список (а не
asyncio.Queue
), чтобы удобно смотреть на его содержимое. - Храню количество пройденных итераций (а не вычисляю по формуле
(current_val-n1)/d
) чтобы избежать потенциальных проблем с ошибкой округления. - Через переменную окружения
PERX_WORKERS_NUM
или черезsettings.toml
можно регулировать количество воркеров. - Сделал скрипт
start.sh
в качестве демо. Запускает серевер, создает 3 задачи, а потом бесконечно трогает/peek
и выводит состояние очереди.