2016-10-27 6 views
0

У нас есть окно разработки в нашей среде, которое скоро перейдет в производственную среду. Это написано в классическом asp. Одним из мандатов в рамках плана аварийного восстановления является обеспечение того, чтобы при загрузке страницы возникла проблема, чтобы уведомить администраторов сайта. Я знаю, как отправить уведомление, поскольку у нас есть почтовый процессор, который используется для отправки сообщений, но я ищу помощь о том, как сделать вроде как оператор IF, если страница не закончила загрузку за x секунд , чтобы отправить админам сайта и продолжить загрузку страницы, пока она не завершит загрузку или не закончится. Опять же, на данный момент у нас нет никаких проблем, но мы должны иметь что-то на месте, если будут какие-либо будущие проблемы. Опять же, это делается в классическом asp.Если страница ASP занимает слишком много времени для загрузки, сообщите мне

Так пример (30 секунд существо для загрузки):

If ServerScriptTimeout > 30 Then 
    response.write "Page is taking longer to load admins, please investigate" 
Else 
End If 

бы что-то вроде этой работы или даже возможно?

Мы используем IIS7 на нашем сервере

Заранее спасибо за помощь ур.

ОБНОВЛЕНИЕ - только для добавления. У нас уже есть всплывающие страницы и уведомления, которые должны быть связаны с подключением к одному из наших соединений с базой данных. Он проверяет соединение и затем выполняет тестовый запрос. Если кто-либо из них не работает, он предоставляет администраторам сайта обновление. Мне нужен аналогичный вариант для загрузки страницы. У меня уже есть тайм-аут сценария на месте, но он не был уверен, что время выполнения сценария может работать с оператором if, чтобы что-то сделать после того, как x секунд пройдет до истечения таймаута.

ответ

1

Лучшим способом будет включение регистрации IIS и убедитесь, что вы включили time-taken, который записывается в миллисекундах.

Теперь вы можете либо создать парсер программ или журналов для мониторинга журналов IIS, либо использовать программное обеспечение мониторинга журнала IIS и просто настроить оповещения для выхода страницы, если время составляет более 30000 миллисекунд.

Существует множество инструментов, которые делают это, просто выполните поиск, соответствующий вашим потребностям.

Выполнение этого в самом коде, если он истечет, то вы никогда не получите предупреждение, поэтому я не думаю, что это тот вариант, который вы ищете.

+0

Благодарим за отзыв. Переход к четвертому абзацу, если я запрограммирую его до истечения таймаута? Поэтому давайте предположим, что время ожидания истекает через 60 секунд. Если я запрограммирую его, сообщите администраторам сайта после того, как прошло 30, и подумайте, что это выполнимо? Я предполагаю, что я боюсь, если мне нужно сделать это с локальной стороны или сохранить ее на стороне сервера. – jrp1982

+0

Как вы можете быть на 100% уверены, что ваш код будет выполнен? Javascript запускается на стороне клиента, поэтому вы никогда не получите уведомление, если только вы не вызвали его, чтобы уведомить вас. Другой способ, которым вы можете это сделать, если это внешний сайт, - создать учетную запись в uptimerobot.com и выполнить контроль ключевых слов, и если ключевое слово не отображается на странице, вы получите предупреждение. – Henry

1

Один из вариантов использования некоторых сайтов - это другое приложение для регулярного выполнения GET на целевой странице и если оно не может загрузить или требует много времени для отправки предупреждения.

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

+0

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

0

Думаю, я мог бы это понять. Пожалуйста, сообщите об этом, если хотите.

'Beginning of the page` 
    Starttime = Timer() 


    Do Until i=5382343 
     i=i+1 
    Loop 

    'Body of the page here 


    'at the bottom, type this in 
    TimeTest = (Timer - Starttime) 

    If TimeTest > 30.500000 Then 
    response.write "SLOW, Admins Notified" 
    Else 
    response.write "FAST" 
    End If 

    Response.Write("<br>The page was generated in : " & (Timer - Starttime) & " seconds.")