- Регистрация
- 16.06.2017
- Сообщения
- 187
- Благодарностей
- 31
- Баллы
- 28
Пишу шаблон, который обязательно должен работать через сокс. Соксы используются приватные, качественные.
Не секрет, однако, что даже качественные соксы могут внезапно умереть в процессе отработки шаблона. При этом крайне важно продолжить работу шаблона, сменив сокс на новый.
Но как это грамотно сделать?
В голову лезут одни костыли, например на каждый экшн перехода по страницам делать проверку наличия текста "Попытка соединения не удалась". В случае, если текст отсутствует - шаблон продолжает отработку. Если злополучный текст есть - отправляемся по ветке, где берем следующий сокс по списку. Но из-за того, что в шаблоне очень много не похожих друг на друга экшенов перехода по ссылкам, то привязка к каждому экшену выглядит ну очень непривлекательно. К тому же после взятия сокса нужно еще и грамотно вернуться на тот же экшн, где шаблон споткнулся. Чтобы не лепить условия на каждом шагу, тут бы как раз пригодился "многоразовый bad end", о котором когда-то тут писали)) Но, я так понимаю, его так и не реализовали.
Была мысль, чтобы сокс чекался извне (чекером или даже отдельным независимым шаблоном), и ложился в глобальную переменную, тогда шаблон на лету мог бы подхватить новый сокс. Но в этом случае как быть с многопоточностью?
Есть ли более здравые идеи? Уже всю голову сломал
Не секрет, однако, что даже качественные соксы могут внезапно умереть в процессе отработки шаблона. При этом крайне важно продолжить работу шаблона, сменив сокс на новый.
Но как это грамотно сделать?
В голову лезут одни костыли, например на каждый экшн перехода по страницам делать проверку наличия текста "Попытка соединения не удалась". В случае, если текст отсутствует - шаблон продолжает отработку. Если злополучный текст есть - отправляемся по ветке, где берем следующий сокс по списку. Но из-за того, что в шаблоне очень много не похожих друг на друга экшенов перехода по ссылкам, то привязка к каждому экшену выглядит ну очень непривлекательно. К тому же после взятия сокса нужно еще и грамотно вернуться на тот же экшн, где шаблон споткнулся. Чтобы не лепить условия на каждом шагу, тут бы как раз пригодился "многоразовый bad end", о котором когда-то тут писали)) Но, я так понимаю, его так и не реализовали.
Была мысль, чтобы сокс чекался извне (чекером или даже отдельным независимым шаблоном), и ложился в глобальную переменную, тогда шаблон на лету мог бы подхватить новый сокс. Но в этом случае как быть с многопоточностью?
Есть ли более здравые идеи? Уже всю голову сломал
Последнее редактирование: