Уведомить браузер / страницу о завершении долгой задачи - PullRequest
0 голосов
/ 13 декабря 2011

Я использую Python WebServer (CherryPy), но я думаю, что вопрос более открытый и довольно общий. На данный момент у меня есть несколько Ajax-вызовов через JQuery load при нажатии кнопки, которые запускают некоторые вычисления, заканчивающиеся генерацией файлов.

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

ОБНОВЛЕНИЕ: Спасибо JB Nizet. Кто-нибудь может посоветовать, как писать структуры данных в Python Thread? Не знаю много о предмете, и не знаю, с чего начать.

1 Ответ

1 голос
/ 13 декабря 2011

Опрашивать сервер, чтобы получать последние сгенерированные файлы (или полный список сгенерированных файлов) каждые n секунд, и остановить опрос, как только список будет завершен, или как только первый ajax-запрос (тот, который запускает процесс генерации) завершено.

Поток, генерирующий файл, должен сделать список сгенерированных файлов доступным в общей, поточно-ориентированной структуре данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...