Как вернуть данные из CherryPy BackgroundTask, работающего как можно быстрее

Я создаю веб-сервис для итеративной пакетной обработки данных с использованием CherryPy. Идеальный рабочий процесс выглядит следующим образом:

Пользователи отправляют данные в сервис для обработкиКогда задача обработки свободна, она собирает данные в очереди и запускает другую итерациюПока задание обрабатывается, пользователи помещают больше данных в очередь для следующей итерацииПосле завершения текущей итерации результаты передаются обратно, чтобы пользователи могли получить их, используя один и тот же API.Задание начинается снова со следующей партии данных в очереди.

Ключевое соображение здесь заключается в том, что обработка должна выполняться как можно быстрее с каждой итерацией, начинающейся, как только заканчивается предыдущая, независимо от количества данных в очереди. Там нет верхней границы того, сколько времени может занять каждая итерация, поэтому я не могу создать фиксированное расписание для ее выполнения.

Есть несколько примеров использованияBackgroundTask (как этот) но мне еще предстоит найти тот, который имеет дело с возвратом данных, или тот, который имеет дело с задачами, выполняемыми как можно быстрее, а не по фиксированному расписанию.

Я не преданBackgroundTask решение, так что если кто-нибудь может предложить альтернативу, я был бы более чем счастлив. Такое ощущение, что в рамках есть решение.

Ответы на вопрос(1)

Ваш ответ на вопрос