delayed_job, отслеживая прогресс объекта - PullRequest
1 голос
/ 08 января 2011

Я пытаюсь заставить индикатор выполнения идти с delayed job, но я не знаю, как проверить состояние объекта.

У меня есть объект с именем Scrape, и он выполняет некоторую подачуРазбор или что-то так, это занимает около 30 секунд.Похоже, я не могу найти способ получить доступ к этому объекту, у которого есть целочисленный атрибут progress, который отслеживает синтаксический анализ, который я буду вызывать для создания простого виджета обновления% / css / div / ajax на лицевой стороне.

Могу ли я использовать object_id, поскольку у объекта нет id, пока процесс не будет завершен / сохранен.Если да, то как?

Как получить доступ к этому атрибуту прогресса на моем объекте, который задерживается.Или есть другой способ сделать это?

1 Ответ

5 голосов
/ 08 января 2011

Вам нужно будет использовать другое хранилище данных, которое совместно используется двумя процессами, которое постоянно обновляется.Может быть, ключ memcached?

Процесс delayed_job обновляет этот ключ, и у веб-приложения есть фоновый полировщик на основе AJAX, который обращается к конечной точке, которая, в свою очередь, запрашивает тот же ключ, возвращая обновление статуса клиенту.

...