С прошедшим праздником.
Как можно обеспечить стабильность работы скрипта, если у клиентской машины на несколько секунд пропадает интернет?
Например, выполняется скрипт на обычной локальной машине, скрипт все время переходит по различным страницам, интернет пропадает на несколько секунд - скрипт "замирает".
Какие есть способы решения проблемы, кроме запуска скрипта на сервере и перехода на проводной интернет?
Спустя 4 минуты, 9 секунд (11.01.2011 - 18:16) LRCenter написал(а):
Нужно "отцепить" скрипт от клиента.
и еще на всякий случай, (хотя не обязательно) добавить это:
ignore_user_abort(true);
и еще на всякий случай, (хотя не обязательно) добавить это:
set_time_limit(0);
Спустя 13 часов, 57 минут, 47 секунд (12.01.2011 - 08:14) Doszhan777 написал(а):
LRCenter,
Можно чуток подробнее.
В начале скрипта пишу:
При потере связи скрипт будет продолжать работать, но предположим связи еще нету, а скрипт уже должен "заходить" на страницу, что произойдет?
Можно чуток подробнее.
В начале скрипта пишу:
ignore_user_abort(true);
set_time_limit(0);
При потере связи скрипт будет продолжать работать, но предположим связи еще нету, а скрипт уже должен "заходить" на страницу, что произойдет?
Спустя 1 час, 23 минуты, 32 секунды (12.01.2011 - 09:37) linker написал(а):
Цитата |
но предположим связи еще нету, а скрипт уже должен "заходить" на страницу, что произойдет? |
это как, скрипт с руками, ногами и мозгами?
Спустя 41 минута, 29 секунд (12.01.2011 - 10:19) Doszhan777 написал(а):
linker, ну я потому и в кавычках написал
Что будет если при потери связи скрипту необходимо загрузить данные с сети?
Что будет если при потери связи скрипту необходимо загрузить данные с сети?
Спустя 1 час, 9 минут, 17 секунд (12.01.2011 - 11:28) LRCenter написал(а):
А, в этом смысле
Ну тут тогда проблема на физическом уровне, делайте соединение стабильным, или подключайтесь к альтернативному каналу связи.
Тот код который я вам привел лишь позволит скрипту на сервере выполнить задачу до логического завершения в случае потери связи с клиентом.
Ну тут тогда проблема на физическом уровне, делайте соединение стабильным, или подключайтесь к альтернативному каналу связи.
Тот код который я вам привел лишь позволит скрипту на сервере выполнить задачу до логического завершения в случае потери связи с клиентом.
Цитата |
При потере связи скрипт будет продолжать работать, но предположим связи еще нету, а скрипт уже должен "заходить" на страницу, что произойдет? |
Как что? По идее 400 или 408, хотя я могу ошибаться. http://ru.wikipedia.org/wiki/Коды_состояния_HTTP
Спустя 24 минуты, 58 секунд (12.01.2011 - 11:53) linker написал(а):
Это делается по расписанию с помощью какого-нибудь шедулера, например крона.
Спустя 3 часа, 2 минуты, 26 секунд (12.01.2011 - 14:56) Doszhan777 написал(а):
ОК.
Ну тогда можно после соединения со страницей проверить ответный код состояния страницы, если код отличный от 200, повторить соединение. Итак до бесконечности пока связь не восстановится.
Ну тогда можно после соединения со страницей проверить ответный код состояния страницы, если код отличный от 200, повторить соединение. Итак до бесконечности пока связь не восстановится.
Спустя 2 минуты, 40 секунд (12.01.2011 - 14:58) linker написал(а):
Doszhan777
Как ты думаешь, кто этим будет заниматься? PHP работает на стороне сервера и ничего не знает о каких-то кодах. Не надо делать то и так, что нужно делать согласно здравого смысла.
Как ты думаешь, кто этим будет заниматься? PHP работает на стороне сервера и ничего не знает о каких-то кодах. Не надо делать то и так, что нужно делать согласно здравого смысла.
Спустя 3 часа, 9 минут, 49 секунд (12.01.2011 - 18:08) Doszhan777 написал(а):
linker, в смысле? Ну естественно не знает, PHP ведь язык программирования и "работать" он также не может :)
Работать может скрипт.
Я предлагаю решение описанную здесь:
Никогда ранее не сталкивался такой проблемой и, конечно, вполне допускаю, что мое решение абсурдное.
Какое решение предлагаешь? Шедулеры просто запускает скрипты в назначенное время. Если я ошибаюсь подправь меня.
Работать может скрипт.
Я предлагаю решение описанную здесь:
http://www.dndialog.com/index.php?showtopic=3683
Никогда ранее не сталкивался такой проблемой и, конечно, вполне допускаю, что мое решение абсурдное.
Какое решение предлагаешь? Шедулеры просто запускает скрипты в назначенное время. Если я ошибаюсь подправь меня.
Спустя 15 часов, 41 минута, 5 секунд (13.01.2011 - 09:49) linker написал(а):
Говоря о PHP, я подразумеваю скрипты написанные на нем. Они не умеют сами по себе запускаться когда нужно программисту. Если ты тискаешь данные с каким-то сайтов, то делать это нужно не тогда когда удаленный юзверь открыл твою страницу. Посмотри на Яндекс или Гугл, ты думаешь когда вводишь запрос поиска они начинают ползать по инету и искать то, что ты попросил? Нет. Так и у тебя должно быть, юзверю нужно отдавать уже готовые данные, которые хранятся локально на твоем сайте. А добавлять, обновлять их нужно в фоне, запуская соответствующий скрипт по расписанию планировщиком. Тут не только в назначенное время, но и например, раз в минуту, или раз каждые полтора часа.