Действия после принудительной остановки шаблона

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Если надо принудительно остановить шаблон, то как можно выполнить какие-то действия, например сбросить текущие значения в файлы? Ни по Good End, ни по Bad End действия не выполняются в таком случае.
А у меня шаблон парсер на запросах, и я не ставлю после каждой итерации сохранение текущих данных, т.к. скорость упадет да и винт постоянно будет долбить. А иногда приходится шаблон остановить.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 956
Благодарностей
781
Баллы
113
принудительная остановка - это вы имете в виду - Прервать? если в этом случае - бэд енд не работает, то как вариант - можете создать логику в шаблоне - проверка файла - ну или его содержание - и когда надо - то не прерываете - а записываете в файл - финишь - и сохраняете - а логика внутри шаблона - должна после считывания сохранить значения и сбросить выполнения. как-то так
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113
Прерывание обрывает шаблон в том месте, где он выполняется и, само собой, ничего после не выполняется. Прерывание - экстренная мера и не предназначена для того, о чём написано в стартпосте
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113
В чём проблема использовать список привязанный к файлу для складывания результатов парсинга? Список висит в оперативе, быстродействие не упадёт. Файл он обновляет раз в несколько секунд, жесткий не задолбит.
 

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Просто когда шабу надо проверить 50 миллионов страниц, то добавление любых подобных действий в результате ощутимо замедлит процесс.
Я могу делать запись в процессе работы, ставить условия для завершения работы - но все это дополнительные действия с винтом.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Не стоит обижаться. Я хотел узнать именно о том что написал. А запись и проверки это очевидно, там миллион способов как реализовать, но тут дело именно в том что хотелось без этого обойтись.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Ну если Док не убедил то сделать логику как посоветовал Архип. Останавливать работу шаблона по наличию файла или его содержимого, предварительно сделать все необходимые сохранения в файлы. А чем обычная остановка работы шаблона не подходит?
 

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Потому что для обычной остановки надо проверять какое-то внешнее условие. Кстати пришло в голову такое решение - писать текущие значения в глобальные переменные, а выделенный шаблон раз в пару минут будет их сохранять. Минус тут конечно дополнительный занятый поток.
 

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
У меня было подозрение что это невозможно, но все же надеялся что есть какая-то лазейка. То что по принудительному прерыванию работы шаблона не выполняются действия по Bad End мне кажется неправильно, но тут конечно могут быть разные мнения.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
Мне кажется Вы слишком все усложняете.
 

eagleowl

Client
Регистрация
03.11.2012
Сообщения
263
Благодарностей
30
Баллы
28
Не усложняю. Просто столкнулся с такой вот задачей. Обычно мне самому это не нужно, во всех других шаблонах нет никаких проблем проверить наличие/содержимое файла или сделать запись после окончания цикла, т.к. цикл там длится минут 5-10, а не одну секунду.
 

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