AJAX Progress Bar - опрос, комета? - PullRequest
       19

AJAX Progress Bar - опрос, комета?

3 голосов
/ 26 февраля 2009

Я хотел бы получить несколько советов о том, как реализовать следующее:

Я бы хотел, чтобы мои пользователи знали о ходе выполнения задачи, выполняемой на моем сервере через AJAX. Мой сервер запускает скрипт PHP, который загружает файл с помощью команды оболочки, используя функцию popen. Периодически повторяет / печатает, что происходит. Я хотел бы захватить этот вывод, используя AJAX, и представить его пользователю.

В другом вопросе мне сказали, что мне может понадобиться опрос или комета? Я был бы очень признателен за любую помощь или руководство о том, как добиться этого самым простым и эффективным способом. Надеюсь, я все еще могу использовать JQuery.

Спасибо всем, что нашли время прочитать это.

P.S. Мне удалось добиться этого благодаря сообществу stackoverflow. :)

Ответы [ 3 ]

2 голосов
/ 26 февраля 2009

Ссылка, размещенная Джимом Пулсом, - отличное место для начала. Многие пользователи в этих вопросах предлагают много полезной информации о опросах Comet и PHP. Большинство мест, которые я видел, рекомендовали использовать Python Twisted для выполнения этой задачи.

Кроме того, вот несколько ссылок на:

Отзывчивые AJAX-приложения с COMET

Прогресс-бар в Jquery

И еще один шаблон HTTP AjAx Streaming Статья

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

2 голосов
/ 26 февраля 2009

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

1 голос
/ 26 февраля 2009

Я бы просто использовал обычный опрос вместо кометы, так как это больше похоже на взлом. Чтобы сделать пользовательский интерфейс более гибким, вы можете обмануть и обновить свой индикатор выполнения без проверки с сервером, просто рассчитав среднее время, необходимое для выполнения задачи. Вы можете исправить ошибку, запросив правильный статус. Если вы реализуете это хорошо, все подумают, что это живое обновление.

...