Ошибка 404. Как продолжить работу шаблона?

Michailpopov

Пользователь
Регистрация
26.05.2015
Сообщения
42
Благодарностей
3
Баллы
8
Добрый день. Пишу шаблон на сайт. Сайт работает нестабильно и периодически выскакивает ошибка 404. Ошибки появляются в разных местах сайта. Обновление страницы устраняет проблему. Если бы проблема была в определенном месте то я бы воспользовался обычной проверкой текста,но тут проверку устроить не смогу,после каждого действия проверка сильно загромоздит проект. Есть еще способы? Заранее спасибо!!!
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Добрый день. Пишу шаблон на сайт. Сайт работает нестабильно и периодически выскакивает ошибка 404. Ошибки появляются в разных местах сайта. Обновление страницы устраняет проблему. Если бы проблема была в определенном месте то я бы воспользовался обычной проверкой текста,но тут проверку устроить не смогу,после каждого действия проверка сильно загромоздит проект. Есть еще способы? Заранее спасибо!!!
То есть страница по одному и тому же урлу может загрузиться нормально, а может выдать 404?
Тут только проверять успешность, или через проверку характерного текста на странице, или через focus на каком то характерном элементе страницы.
 

Michailpopov

Пользователь
Регистрация
26.05.2015
Сообщения
42
Благодарностей
3
Баллы
8
Да,так и есть, зачастую грузит нормально,но иногда выскакивает 404. В итоге шаб останавливается. Приходится просто обновить страницу и все норм.
 

Naemnick

Client
Регистрация
01.08.2014
Сообщения
36
Благодарностей
3
Баллы
8
Может быть всё что угодно от кривого скрипта и вплоть до защиты от парсинга. Самый реальный способ проверять каждый раз. При ошибке отправлять на паузу и повторять действие.
 

[Pacman]

Client
Регистрация
29.05.2017
Сообщения
279
Благодарностей
168
Баллы
43
но тут проверку устроить не смогу,после каждого действия проверка сильно загромоздит проект. Есть еще способы? Заранее спасибо!!!
Лично мне автоматических способов не известно, и есть ли они в природе - крайне сомнительно.

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

Скорее всего по уму, дабы не сильно загромождать проект, потребуется хорошо продумать логику проекта. Дабы свести загрузку страницы к паре-тройке кубикам, или еще лучше к коду С#. То есть что бы любая загрузка сопровождалась автоматической проверкой, на предмет 404, и перезагрузке с таймером. Либо заменить стандартный кубик перехода на страницу на свой с проверкой.

Примеры реализации:
1. Заменить стандартный кубик перехода на страницу на свой с проверкой.
Есть переменная куда каждый раз кладется адрес загрузки, думаю она у вас и так есть.
Вместе кубика "переход на страницу" создаете универсальный кубик кода C# аналог перехода на страницу, но с проверкой на 404.

Действия которые будут прописаны в этом кубике C#:
Перешел на страницу, адрес взял из переменной
Проверил на наличие 404
Если присутствует 404 то перезагрузил

Это поместить в один кубик С# и ставить его каждый раз вместо кубика "переход на страницу". Таким образом никакой разницы в загроможденности кубиками не будет, просто один поменяете на другой, но вместо просто загрузки будет еще и проверка на 404, и перезагрузка если 404 присутствует.

Но опять же по уму нужно продумать что делать, если 404 несколько раз повторяется, может 10 раз, и если после 10 то остановка проекта или что то другое, выход по красной ветке к примеру, можно цикл сделать, но сделаете цикл - есть шанс что проект будет работать в холостую, если будет каждый раз 404. В общем в этот кубик можно будет поместить все что вам будет угодно.



2. Если страниц не так много к примеру до 20 то можно вывести, опять же к примеру все переходы на кубик Switch
Все стрелочки загрузок страниц льются на пару кубиков проверки на предмет 404, и перезагрузки, как проверку проходит то далее идет кубик Switch из которого льется куча стрелочек на нужные блоки.

3. Если шаблон пишете на C# каждый раз вставлять проверку, либо сделать ее функцией, и вызывать её.

4. Сразу делать 2 загрузки одной и той же страницы через 30-60 сек :D конечно в случае если проект "полу ручной" а не полная автоматизация. Так как решит проблему лишь отчасти и надеяться на это будет рискованно. Но зато очень легко)
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)