[Вопрос] Остановка потока из шаблона

GAGAn

Client
Регистрация
22.02.2015
Сообщения
37
Благодарностей
4
Баллы
8
Добрый вечер.
Можно ли остановить поток из шаблона?
Подробно:
Запускаем шаб на 999 раз в 5 потоках. В шаблоне 3шаблона, первый выполняется 1 раз в том потоке в котором быстрее, далее все потоки уходят в GoodEnd и перезапускаются. Потом по запуску идет проверка и выполняется второй шаб, он выполняется 100-400 раз в зависимости от результатов выполнения первого шаба. Далее начинает выполнятся третий шаблон, и вот тут я хз как сделать. 3тий шаб авторизируется на сайте в 5 потоков и начинает вбивать те строки которые получил во втором шабе, и вот что не считать сколько нужно попыток на все это нужно по концу строк в файле остановить поток и больше его не запускать. И так в файле не осталось строк, поток завершается, остается 4 потока, потом 3 и тд.
Возможно ли так сделать?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
1. Когда в файле заканчиваются строки, шаблон должен заканчиваться неуспехом. Можно во вкладке останова установить остановку шаблона по кол-ву неуспехов подряд.
2. C# после того, как всё выполнится:
Код:
var id = Guid.Parse(project.TaskId);
ZennoPoster.SetTries(id, 0);
Этот код установит на 0 кол-во попыток и отработают только работающие потоки, новые не поднимутся.
 

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Привет. А как стопнуть поток в шаблоне из асинхронного метода? У меня метод следит за переменной. Если в переменной "Stop", текущий поток зенки должен прерваться на каком бы действии он ни был.
Вот код метода:
C#:
public async static void method(this IZennoPosterProjectModel project)
        {
            await Task.Run(() =>
            {
                for (int i = 0; i < 100; i++)
                {
                    project.SendInfoToLog("Check variable",true);
                    Thread.Sleep(1000);
                    if (project.Variables["controlPanelStatus"].Value == "Stop")
                    {
                        project.SendInfoToLog("Stop program");
                        break;
                    }
                }
            });
 
Последнее редактирование:
  • Спасибо
Реакции: Mazamaka

Mazamaka

Client
Регистрация
12.12.2018
Сообщения
8
Благодарностей
4
Баллы
3
Привет. А как стопнуть поток в шаблоне из асинхронного метода? У меня метод следит за переменной. Если в переменной "Stop", текущий поток зенки должен прерваться на каком бы действии он ни был.
Вот код метода:
C#:
public async static void method(this IZennoPosterProjectModel project)
        {
            await Task.Run(() =>
            {
                for (int i = 0; i < 100; i++)
                {
                    project.SendInfoToLog("Check variable",true);
                    Thread.Sleep(1000);
                    if (project.Variables["controlPanelStatus"].Value == "Stop")
                    {
                        project.SendInfoToLog("Stop program");
                        break;
                    }
                }
            });
Подскаже пожалуйта как это пихнуть в общий код проэкта?
 

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
Прикрепил файл.
 

Вложения

  • Спасибо
Реакции: tanichev

Mazamaka

Client
Регистрация
12.12.2018
Сообщения
8
Благодарностей
4
Баллы
3

Gor

Client
Регистрация
30.09.2016
Сообщения
248
Благодарностей
30
Баллы
28
  • Спасибо
Реакции: Mazamaka

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