Принудительная остановка проекта

Lite

Client
Регистрация
17.10.2013
Сообщения
283
Благодарностей
89
Баллы
28
Как лучше реализовать остановку проекта по желанию? Ну т.е. у меня нет четкого числа потоков, оно там само парсится, если выбрать "прервать" - вдруг где-то посередине задачи оборвется. Делал проверку наличия файла stop.txt - но это муторно, его каждый раз надо создавать/удалять.
Входные настройки нельзя подгрузить по ходу проекта? Было-бы наилучшим вариантом - во время выполнения щелкнул чекбокс в настройках - и всё завершилось.
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
А как вы
Делал проверку наличия файла stop.txt - но это муторно, его каждый раз надо создавать/удалять.
это делали? Может біть просто у файле записывать 0/1. Если бы вы подробнее описали задачу - можно было бы что-то придумать
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Входные настройки нельзя подгрузить по ходу проекта? Было-бы наилучшим вариантом - во время выполнения щелкнул чекбокс в настройках - и всё завершилось.
Нет.

если выбрать "прервать" - вдруг где-то посередине задачи оборвется.
Понятно что так, но ведь вы и хотите его прервать.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
как вариант - просто нажимать кнопку Стоп и все потоки которые в данный момент выполняются - отработают до конца, а новые созданы не будут..
будет корректное завершение работы, как вы и хотели..
 

Lite

Client
Регистрация
17.10.2013
Сообщения
283
Благодарностей
89
Баллы
28
Понятно что так, но ведь вы и хотите его прервать.
К примеру у меня зациклено выполнение, я хочу прервать, но чтобы цикл завершился полностью)
Ну логично что просто отрубить не получится, нужно управляемое прерывание в нужной точке программы. Учитывая что входные настройки не читаются.. остается передача информации через название/содержание файла или директории.
Еще пришла мысль - на домене повесить страницу с кнопкой, и проверять нажатие.. хотя это уже извращение)
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Вся проблема вашего алгоритма вот в этом
у меня зациклено выполнение, я хочу прервать, но чтобы цикл завершился полностью
Я тоже сначала так хотел делать, но потом порылся на форуме и понял что это не есть хорошо. Лучше цикл в проджект мейкере заменить количеством выполнений в постере.

Потому как цикл приводит к 1) вашей проблеме; 2) Нестабильности у многопоточном режиме (зависит от задачи); 3) возможной утечке памяти в браузере

И каждая из этих проблем довольно серьезная

хотя, возможно, я неправильно понимаю вашу задачу
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
))) можно через каждый блок пихать экшен проверки наличия фаила-маяка)))
Нет фаила - работаем - есть фаил - выходим)))) но это гемморой)
 

Lite

Client
Регистрация
17.10.2013
Сообщения
283
Благодарностей
89
Баллы
28
Вся проблема вашего алгоритма вот в этом

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

Потому как цикл приводит к 1) вашей проблеме; 2) Нестабильности у многопоточном режиме (зависит от задачи); 3) возможной утечке памяти в браузере

И каждая из этих проблем довольно серьезная

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

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Я не могу представить ситуацию, когда это нужно. Чаще всего надо произвести некий набор действий, чтобы получить некий результат. Зачем останавливать скрипт посреди этих действий. Проще дождаться результата, а если уж остановили - то нет причин не начать сначала тогда, когда надо.
Если надо получить несколько результатов (сам сейчас доделал такой шаблон) то лучше пользоваться не циклом, а количеством выполнений шаблона.
Если же надо провести какие то комплексные действия: регистрация мыла/регистрация акка/подтверждение/постинг, то предполагаю, что лучше разбить всё это на отдельные шабы, а не пихать всё в 1, и тогда выполнять или по очереди по 1. Или же сначала 1-й, потом 2-й, потом 3-й и т.д.

Грамотно сделанная архитектура в начале - это 90% сохраненных нервов в будущем, уж поверьте:D
 
  • Спасибо
Реакции: Sanekk

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
но сейчас посмотрел, легче решить её и делать много запусков, чем думать как обрывать
Я вообще первые 3 дня думал как это возможно - сделать скрипт без циклаo_O :be: А потом вдруг пришло прозрение. И теперь я очень доволен тем, что мне самому за циклом следить не пришлось:bp:
 

socnet

Client
Регистрация
02.12.2014
Сообщения
137
Благодарностей
129
Баллы
43
Остановить выполнение проекта можно удалением этого проекта из списка в ЗП? Попробовал, сработало вроде как.
Сорри за некропост.
 

Spikers07

Client
Регистрация
25.05.2016
Сообщения
123
Благодарностей
54
Баллы
28
У меня возникла тоже проблема в данном вопросе. Решение в голову пришло только одно. Добавить новый вид "BadEndNew" (пример). Добавить в ZP функцию "Прервать с окончанием" (пример) и шаблон уходит по ветке BadEndNew.

Для всех, у кого есть/написал шаблон в непрерывном цикле, хорошая вещь
 

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