Остановка проекта из C#

progrlab

Client
Регистрация
07.02.2014
Сообщения
204
Благодарностей
82
Баллы
28
Надо остановить работу проекта после того как sql-запрос перестанет возвращать значения из таблицы. Т.е. по некоторому условию.

Сделал как советовали вот тут :
http://zennolab.com/discussion/threads/ostanovka-proekta-cherez-zapusk-programmy.24665/#post-170849

string s = project.TaskId;
ZennoPoster.StopTask(new Guid(s));

Все отрабатывает. Потоки останавливаются. Все вроде бы нормально.
За исключением одного.

После этого из Диспетчера задач в Zennoposter этот шаблон запустить не получается.
Жму на "Выполнить сейчас". И молчок. Ничего не происходит. Шаблон не запускается.
Сообщений никаких не выскакивает. В логе чисто.

Возможность запустить шаблон с помощью кнопки "Выполнить сейчас" появляется только после перезагрузки Zennoposter.
Как можно исправить данную ситуацию ?

SnapShot.jpg
 

arhip1985

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

progrlab

Client
Регистрация
07.02.2014
Сообщения
204
Благодарностей
82
Баллы
28
а что мешало в логике шаблона завершить работу шаблона как конец задачи, а на старте чекать - есть ли конец - и сразу завершать - если конец, потоки будут подниматься - но сразу будут завершатся - ну и что
"в логике шаблона завершить работу шаблона как конец задачи" - Несколько не понял . Каким образом это делается ?
Что под этим подразумевается ?
 

arhip1985

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

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 955
Благодарностей
781
Баллы
113
я ж пишу - потоки будут всё равно подниматься - просто они пустые будут - сразу завершатся будут
 

progrlab

Client
Регистрация
07.02.2014
Сообщения
204
Благодарностей
82
Баллы
28
ну отправлять запрос - если приходит ответ, что нет строк - то конец выполнения шаблона, т.е. аппендикс, и на старте шаблона сразу чекать - есть ли там строки - если нет - то сразу конец
Собственно так и делается. Но у меня в настройках задания в Диспетчере на закладке остановка стоит :
Количество успехов: -1
Количество неуспехов подряд: 5
Может из-за этого шаблон работу не заканчивает. А после пустого Sql-запроса уходит в тупиковую ветку. Сообщает - что строк по запросу больше нет. И по новой . Запускается поток. Падает. Запускается вновь. И т.д. Шаблон не останавливается.

Собственно поэтому и поставил этот C# код в тупиковую ветвь. Чтобы потоки вырубались.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 955
Благодарностей
781
Баллы
113
Собственно так и делается. Но у меня в настройках задания в Диспетчере на закладке остановка стоит :
Количество успехов: -1
Количество неуспехов подряд: 5
Может из-за этого шаблон работу не заканчивает. А после пустого Sql-запроса уходит в тупиковую ветку. Сообщает - что строк по запросу больше нет. И по новой. Собственно поэтому и поставил этот C# код в тупиковую ветвь. Чтобы потоки вырубались.
значит когда нет строк - завершай ошибкой - у тебя 5 ошибок и вырубятся потоки - пять раз пустых строк - и отрубится. и посмотрел только что диспетчер - там есть запуск по сигналу - по наличию файла, т.е. можно сделать ещё один шаб - который периодически будет чекать строки - если строки есть - то будет создавать файл - это будет сигналом для нового старта основного шаблона
 

progrlab

Client
Регистрация
07.02.2014
Сообщения
204
Благодарностей
82
Баллы
28
значит когда нет строк - завершай ошибкой
А как можно принудительно завершить ошибкой ?
У меня в концевой ветке стоит кубик "Оповещение". После его отработки проект завершается без ошибки.
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 955
Благодарностей
781
Баллы
113
А как можно принудительно завершить ошибкой ?
У меня в концевой ветке стоит кубик "Оповещение". После его отработки проект завершается без ошибки.
сделай кубик иф 1==2 )
 

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