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

  • Автор темы Автор темы eagleowl
  • Дата начала Дата начала

eagleowl

Client
Регистрация
03.11.2012
Сообщения
264
Реакции
30
Баллы
28
Если надо принудительно остановить шаблон, то как можно выполнить какие-то действия, например сбросить текущие значения в файлы? Ни по Good End, ни по Bad End действия не выполняются в таком случае.
А у меня шаблон парсер на запросах, и я не ставлю после каждой итерации сохранение текущих данных, т.к. скорость упадет да и винт постоянно будет долбить. А иногда приходится шаблон остановить.
 
принудительная остановка - это вы имете в виду - Прервать? если в этом случае - бэд енд не работает, то как вариант - можете создать логику в шаблоне - проверка файла - ну или его содержание - и когда надо - то не прерываете - а записываете в файл - финишь - и сохраняете - а логика внутри шаблона - должна после считывания сохранить значения и сбросить выполнения. как-то так
 
Прерывание обрывает шаблон в том месте, где он выполняется и, само собой, ничего после не выполняется. Прерывание - экстренная мера и не предназначена для того, о чём написано в стартпосте
 
В чём проблема использовать список привязанный к файлу для складывания результатов парсинга? Список висит в оперативе, быстродействие не упадёт. Файл он обновляет раз в несколько секунд, жесткий не задолбит.
 
Просто когда шабу надо проверить 50 миллионов страниц, то добавление любых подобных действий в результате ощутимо замедлит процесс.
Я могу делать запись в процессе работы, ставить условия для завершения работы - но все это дополнительные действия с винтом.
 
Не стоит обижаться. Я хотел узнать именно о том что написал. А запись и проверки это очевидно, там миллион способов как реализовать, но тут дело именно в том что хотелось без этого обойтись.
 
Ну если Док не убедил то сделать логику как посоветовал Архип. Останавливать работу шаблона по наличию файла или его содержимого, предварительно сделать все необходимые сохранения в файлы. А чем обычная остановка работы шаблона не подходит?
 
Потому что для обычной остановки надо проверять какое-то внешнее условие. Кстати пришло в голову такое решение - писать текущие значения в глобальные переменные, а выделенный шаблон раз в пару минут будет их сохранять. Минус тут конечно дополнительный занятый поток.
 
У меня было подозрение что это невозможно, но все же надеялся что есть какая-то лазейка. То что по принудительному прерыванию работы шаблона не выполняются действия по Bad End мне кажется неправильно, но тут конечно могут быть разные мнения.
 
Мне кажется Вы слишком все усложняете.
 
Не усложняю. Просто столкнулся с такой вот задачей. Обычно мне самому это не нужно, во всех других шаблонах нет никаких проблем проверить наличие/содержимое файла или сделать запись после окончания цикла, т.к. цикл там длится минут 5-10, а не одну секунду.
 

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