Скрипт не останавливается при закрытии браузера или нажатии кнопки «Прервать» - PullRequest
0 голосов
/ 22 января 2010

Я написал веб-сканер, который вызывает веб-страницу в цикле do while 3 секунды

всего есть 7000 сайтов ... я анализирую данные и сохраняю их в своей БД.

иногда из-за долгой загрузки скрипта, в браузере тайм-аут,

но в фоновом режиме я продолжаю. Я вижу это в своей базе данных.

Могу ли я предотвратить это? .. Теперь возможно, если я остановлю веб-сервер.

Спасибо и всего наилучшего.

Ответы [ 2 ]

0 голосов
/ 22 января 2010

Начинать интенсивный, длительный процесс, подобный этому, с веб-страницы почти никогда не бывает хорошей идеей. Причин много, но главные из них:

1) Если в браузере истекло время ожидания (это ваш сценарий), собранные вами данные могут не отображаться.

2) Что произойдет, если вы нажмете Обновить в браузере? Будет ли в этот момент, чтобы начать весь процесс снова? это легкая цель для злоумышленника, если он хочет связать все ресурсы вашего сервера.

3) Действительно ли данные, которые вы сканируете, изменяются до такой степени, что вам нужно сканировать в режиме реального времени? В 99% случаев было бы точно так же выполнено фоновое синхронизированное задание, выполняющее сканирование, и ваш интерфейс просто отображал содержимое базы данных.

Я бы настоятельно рекомендовал вам пересмотреть свою стратегию сканирования на что-то более контролируемое и стабильное.

0 голосов
/ 22 января 2010

Ваша веб-страница запускает процесс на стороне сервера. Убийство вашего браузера или его закрытие не остановит это. Для меня это звучит как веб-страница, чтобы контролировать это неправильный подход, и вы должны смотреть на подключенную форму приложения, такую ​​как приложение WinForms / WPF. Существуют способы заставить это работать с ASP.NET, но они не будут простыми. Я думаю, что вы только что выбрали неправильную технологию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...