@okuznetsov1

Существуют ли решения (и какие) для реализации фонового исполнения задач?

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

Работает так: демон берёт из очереди - задачу и начинает её выполнять (допустим копирование файла), демон проходит 4-е этапа выполнения (Новая задача, задача в работе, задача выполнена или задача не выполнена). Все эти этапы я и отображаю в div-е на клиенте в соответствующем представлении с помощью javascript, в частности setTimeout (выполяню ajax-запрос к таблице с задачами для получения текущего статуса задачи).

ПРОБЛЕМА в следующем:

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

Что посоветуете, есть ли какие-то готовые решения на которых это можно реализовать?
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
  1. Использовать асинхронные запросы;
  2. Упросить и оптимизировать код рендера статусов - возможно там есть какой-то не оптимальный участок, который работает медленно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы