Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отображение процеса загрузки / 10 сообщений из 10, страница 1 из 1
02.11.2013, 22:29
    #38451057
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
решил создать тему здесь.

допустим пользователь нажал на кнопку и началось выпонение длинной цыпочки действий. чтение редактирование файлов создание каталогов запросы к базе данных и т.д. это может занять время(5-10-15 сек и т.д)

Мне хотелосьбы отображать на странице прогресбаз который показывал какая часть выполнена сколько примерно времяни осталось. но как мне получать необходимую информацияю? как реализовать?? ьзоваться чемто иным а не пхп то направте!
...
Рейтинг: 0 / 0
02.11.2013, 23:05
    #38451077
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
Серверный скрипт по ходу работы пишет в файл/базу/прочее процент выполнения или текущее действие. Клиентский скрипт с интервалом 2-5-10 секунд делает AJAX-запрос к серверу, получает оное значение и отображает на страничке.
...
Рейтинг: 0 / 0
02.11.2013, 23:40
    #38451100
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
COMET
...
Рейтинг: 0 / 0
03.11.2013, 09:39
    #38451189
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
ScareCrowCOMET

А по подробней можно?

мне посоветовали redis.io - что скажите об этом
...
Рейтинг: 0 / 0
03.11.2013, 10:06
    #38451193
st_st
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
В идеале html 5 sockets, но из-за слабой поддержки браузерами остаётся вариант предложенный vkle . long poll висящий по 30 секунд и переподключаемый при пришедших данных (как вконтакте) имеет смысл при нечасто получаемых данных. В вашем случае при всей операции в 5-10 секунд можно пару запросов на сервер отправить и по результатам выставить прогрессбар. Хранить временные данные можно в кэше (в php туго с этим, потребуется vps/vds и установленный memcached/redis), поэтому проще в базу или в сессию (если всё выполняется в рамках запроса пользователя, а не где-нибудь по крону).
...
Рейтинг: 0 / 0
03.11.2013, 11:12
    #38451207
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
st_stили в сессиюСессия - это хороший вариант. Только один нюанс есть. Долгоиграющий скрипт не должен держать сессию открытой все время. Открыл, записал данные, закрыл. В противном случае внешний запрос будет ожидать пока сессия освободится и дождется этого только после окончания работы долгоиграющего скрипта.
...
Рейтинг: 0 / 0
03.11.2013, 15:52
    #38451265
Karbafos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
st_st(в php туго с этим, потребуется vps/vds и установленный memcached/redis)

О да, все прям так плохо, что кеш == мемкеш и редис.
...
Рейтинг: 0 / 0
04.11.2013, 11:15
    #38451634
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
Нарисуйте спонтом-бар и не парьтесь свистелками. Сколько примерно спонтом-бар должен ползти и что рассказывать - то зашейте в ява-скрипт. И всем будет счастье.
...
Рейтинг: 0 / 0
04.11.2013, 21:21
    #38452296
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
Areostar,

я раньше делал так:
сервер по мере выполнения выводит принтом буквы к примеру
Код: php
1.
aaaaaabaaabaaaaaaab...


а на странице два прогрессбара. Делаеться аякс запрос, по мере получения данных посимвольно приходящие данные обрабатываем:
если a то первый прогрессбар ++ и второй прогресс = 0, если b то второй прогрессбар ++
Итого получался прогрессбар полного процесса, и подпроцессы отображались отдельным прогрессбаром.
Единственное такой вариант хорош если прогресс меняеться чаше чам раз в секунду, и для админки довольно хорошо подойдет, но вот для обычных юзеров подойдет и обычный по таймеру аякс запрос.
...
Рейтинг: 0 / 0
05.11.2013, 12:33
    #38452813
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отображение процеса загрузки
red-team-design.com/Stylish-CSS3-progress-bars вот возьмите первый либо второй но со значением 100%, конечно не тот что Вы хотели, но и мороки намного меньше
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отображение процеса загрузки / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]