Запуск нескольких шаблонов

stmult

Client
Регистрация
19.11.2013
Сообщения
96
Благодарностей
37
Баллы
18
Есть задача: запускать в постере 2 шаблона одновременно с одним нюансом. Они будут выполняться параллельно, но после того как первый шаблон заканчивает выполнение, второй должен сделать в этот момент паузу секнд на 5-10 (необходимо это потому что после выполнения первого шаблона, происходит разрыв интернета на 2-3 секунды для смены айпи адреса. А если второй шаблон не приостанавливается, то в нём появляются ошибки, в зависимости от того на каком этапе второй шаблон, ошибки могут быть более или менее критичные). Может каким то сторонним приложением или в самом зенно есть такая возможность ?
 

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
А что мешает использовать прокси?
 

Sergodjan

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

stmult

Client
Регистрация
19.11.2013
Сообщения
96
Благодарностей
37
Баллы
18
А что мешает использовать прокси?
Прокси дорого для данной цели будут стоить, а данным способом получается и бесплатно и надежно. А по самому вопросу что-то можете подсказать?
 

rostonix

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

kyvour

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

Еще что на ум приходит - выполнять в критических местах команду пинг, пинговать к примеру гугл. Не знаю прокатит такое или нет, что там пинг возвращать будет...
 

stmult

Client
Регистрация
19.11.2013
Сообщения
96
Благодарностей
37
Баллы
18
Такой функции нет. Как вариант обрабатывать каждый экшен шаблона, который может прерваться.
Выводить красный выход от него на паузу в несколько секунд, и возвращать обратно.
Не очень красиво, конечно)
В том и дело, что экшены выполняются) Но без интернета толку от этого нету. Например при нажатии кнопок удалить, сохранить и прочего, в отсутствии интернет соединения такие кнопки будут нажать, но реального удаления или сохранения не произойдет
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Вот есть еще идея юзать пинг через си-шарп сниппет. Сам не использовал - нарыл код в гугле
Код:
Ping pingCheck = new Ping();

            PingOptions options = new PingOptions();
            options.DontFragment = true;


            //буфер
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes(data);
            //120 милисекунд (можно поставить 30000 - будет 30 сек)
            int timeout = 120;
PingReply ansver = pingCheck.Send(ipadr, timeout, buffer, options);
                        if (ansver.Status == IPStatus.Success)
                        {
                          return True;
                        }
                        else
                        {
                            return False;
                        }
 

kyvour

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

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
А IP надо менять именно по завершении первого, или может быть можно подождать пока 2-й доработает???
 

stmult

Client
Регистрация
19.11.2013
Сообщения
96
Благодарностей
37
Баллы
18
А IP надо менять именно по завершении первого, или может быть можно подождать пока 2-й доработает???
Если первый со вторым поменять местами, то можно и так))
 

kyvour

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

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
правда не сильно элегантный, с применением 2-х файликов)

З.Ы. А куда подевалась кнопка "редактировать" в комментах?
 

ibelieve

Client
Регистрация
24.12.2012
Сообщения
250
Благодарностей
96
Баллы
28

kyvour

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

- запускаем 2-й шаб
- второй шаб проверяет есть ли файлик need_inet_reboot, если есть - ждет нное время и опять проверяет. Если же этого файла нет - создает файлик lock_id133564678(уникальный для каждого потока) в папке lock и делает свои дела. Как только он все дела сделал - удаляет свой файл lock_id1346e5656789 (я бы добавил и good end и bad end в шаб и у них вставил екшн удаления файлика блокировки, а то если файлик вдруг не удалится - то инет не ребутнется)

По идее должно работать железно при 1-м потоке первого шаба и n потоков второго шаба

Если надо делать много потоков 1-го шаба, то тогда надо перед екшном создания файла need_inet_reboot вставить проверку есть ли такой файл (его мог создать какой-то другой поток). Если уже есть - то заново не создаем и инет в этом потоке не вырубаем - об этом позаботится другой поток

Вот как-то так)
 
  • Спасибо
Реакции: stmult

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