Работа большого проекта 24 на 7 в режиме нон-стоп

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
Есть достаточно большой проект состоящий из сотни экшенов (много разных проверок наличия текста чтобы избежать ошибок несколько циклов). Сам проект в среднем отрабатывает за 10-12 минут, то есть одно выполнение занимает 10-12 минут. Сейчас стоит задача сделать так чтобы проект отрабатывал в режиме нон-стоп и 24 часа в сутки крутился. Что касается внутренней логи проекта - то все гладко и плюс я ее постоянно дорабатываю. Но заметил, что проект в таком режиме отрабатывает 3-4 часа, а потом происходят всякие неожиданности по типу: "проблемы с интернетом", какие-то проблемы на самом сайте по которому ходит проект и все в таком роде. Причем такие могут произойти в любом месте и на любом экшене

В связи с этим прошу подсказать, можно ли как-то на С-шарпе написать настройку, что если, например цикл проекта выполняется уже 20 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше

Или может такое решение: если проект завис на любом экшене более 5 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше. Такой вариант кажется самым разумным

Буду признателен за помощь. Может кто-то знает другие варианты решения такой задачи - обязательно делитесь :-)
 
Последнее редактирование:

rostonix

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

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
Зачем вы его зацикливаете?
Просто запускайте с большим количеством выполнений
Наверное не правильно выразился. Я и запускаю с большим количеством выполнение. Среднее время выполнения 8-12 минут. Но через 3-4 часа работы просиходит какой-то баг на любом из экшенов и я потом прихожу смотрю одно выполнение выполнялось больше 2 часов и так не выполнилось, проект повис....
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
Или может такое решение: если проект завис на любом экшене более 5 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше. Такой вариант кажется самым разумным
вообще, то что ты описал, это актуально...

по поводу экшена тайм аута, это есть: http://prntscr.com/94ib8p

а как дела с ресурсами компа, во время этих зависонов?
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Самый разумный вариант - понять в чем ошибка и исправить её.
Логируйте важные участники проекта, изучайте логи и смотрите в чем ошибка - где проект уходит в бесконечный цикл и из-за чего.

Если лень: получите время на старте проекта в unix формате, прибавьте 20 минут (в секундах) и периодически сравнивайте это время. Если мы работаем уже более 20 минут -> завершаем.
 

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
вообще, то что ты описал, это актуально...

по поводу экшена тайм аута, это есть: http://prntscr.com/94ib8p

а как дела с ресурсами компа, во время этих зависонов?
С ресурсами все ок вроде. Сайт не тяжелый. "Таймайут выполнения команд в инстансе" - это то, о чем я говорил? если проект завис на любом экшене более 5 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше.
или что-то другое ?
Самый разумный вариант - понять в чем ошибка и исправить её.
Логируйте важные участники проекта, изучайте логи и смотрите в чем ошибка - где проект уходит в бесконечный цикл и из-за чего.

Если лень: получите время на старте проекта в unix формате, прибавьте 20 минут (в секундах) и периодически сравнивайте это время. Если мы работаем уже более 20 минут -> завершаем.
Спасибо. Логи веду по технологии товарища LightWood. За что ему отдельный респект
http://zennolab.com/discussion/threads/oshibki-v-shabax-naxodim-i-reshaem-ix-v-2-raza-bystree.19930/
Собственно за счет их наличия и получилось выстроить сложную логику проекта, которая отрабатывает хорошо и далее допиливается.
Но проблемы с интернетом, какие-то проблемы на самом сайте по которому ходит проект и все в таком роде, то есть те, которые могут произойти в любом месте и на любом экшене, таким образом не решишь.
 

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
787
Благодарностей
239
Баллы
43
С ресурсами все ок вроде. Сайт не тяжелый. "Таймайут выполнения команд в инстансе" - это то, о чем я говорил? если проект завис на любом экшене более 5 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше.
или что-то другое ?
не уверен на счет срабатывание badend, но в теории и по логике - должен )
это точно скажем нам rostonix
 

svaminar

Client
Регистрация
21.08.2013
Сообщения
834
Благодарностей
379
Баллы
63

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
самой простой способ перезагружать зенку каждые 4 часа по планировщику виндовс.
Или смотри тут
http://zennolab.com/discussion/threads/avtomaticheskaja-reanimacija-zennoposter-posle-padenija-ili-zdravstvuj-zdorovyj-son.16934/page-2
спасибо, возьмем на вооружение, но тут проблема в рамках одного проекта, а параллельно еще выполняются проекты и сам зеннопостер работает стабильно
 

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
не уверен на счет срабатывание badend, но в теории и по логике - должен )
это точно скажем нам rostonix
@rostonix
подскажите так ли это, будет выход по badend, если например, "Таймайут выполнения команд в инстансе" стоит в 3 минуты и проект уже как 3 минуты завис на одном экшене?
 

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
И все таки опять проект подвис на полтора часа. Причина: не загрузился сайт на рандомном экшене....... Зашел в инстанс и перезагрузил сайт и проект продолжил выполнение
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Таймайут выполнения команд в инстансе - это означает, что инстанс глухо висит и ничего не делает.
Опять же - бесконечная загрузка страницы (при подгрузке скриптов и т.д.) не считается таким висом, зависание при парсинге - так же не считается. Это воспринимается, как выполнение работы.
Смотрите свой проект, от чего он может висеть. Нужно что то оптимизировать.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
И все таки опять проект подвис на полтора часа. Причина: не загрузился сайт на рандомном экшене....... Зашел в инстанс и перезагрузил сайт и проект продолжил выполнение
Что значит не загрузился сайт?
Подвисла загрузка - игнор get/ajax и т.д.
Пустой экран - поиск текста...
А вообще в 100500 раз прошу сделать возможность глобального таймаута выполнения :-)
 

rostonix

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

Если у вас сайт спокойно продолжает работу после 1,5 часов простоя, после того как навигейт делаете, подозреваю что там в цикле попытка какого-то действия прописана?
 

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
BadEnd он не для того чтобы шаблон работал дальше, он для того, чтобы сохранить данные , не потерять их , перед завершением шаблона.

Если у вас сайт спокойно продолжает работу после 1,5 часов простоя, после того как навигейт делаете, подозреваю что там в цикле попытка какого-то действия прописана?
Да там есть цикл выполнения. Но не уверен, что подвис происходит именно на цикле и оно по циклу гуляет. Как узнать точно? Нажимаю "Показать" и вижу инстанс и сложно понять где сейчас выполняется проект, ходит он по циклу или как-то иначе. Сам сайт пишет такую ошибку что "Было плохое соединение с сервером, обновите пожалуйста страницу". Я если обновляю страницу вручную, то проект безо всяких ошибок продолжает выполнение.


Точно, вспомнил, на том этапе где происходил такой подвис там нет циклов
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Делайте в разных местах шаблона оповещения, чтобы увидеть на каком этапе он висит. Т.е. Вы увидите последнее оповещение и приблизительно сможете вычислить где именно он крутится.
 
  • Спасибо
Реакции: nomarketing

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
Делайте в разных местах шаблона оповещения, чтобы увидеть на каком этапе он висит. Т.е. Вы увидите последнее оповещение и приблизительно сможете вычислить где именно он крутится.
Такой подвис был уже 4 раза и каждый раз на новом месте (заходил в шаб и видел разные старицы), поэтому локализировать где именно это происходит не вижу смысла, так как каждый раз по-разному
и все же такой вариант можно сделать? "В связи с этим прошу подсказать, можно ли как-то на С-шарпе написать настройку, что если, например цикл проекта выполняется уже 20 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше"
 

rostonix

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

littleKongo

Client
Регистрация
17.01.2015
Сообщения
244
Благодарностей
24
Баллы
18
Нет, если вы не ограничиваете цикл, программа считает что его не нужно ограничивать
опять не правильно выразился, можно написать чтобы не цикл, а одно выполнение если уже осуществляется больше 20 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Вы бы уже шаблон свой дали кому то, если там нету ничего секретного, чтобы на него посмотрели и помогли Вам разобраться, т.к. проблемы явно в шаблоне и эти моменты, о которых Вы пишите скорее всего можно избежать правильно настроив шаблон.
 

nomarketing

Client
Регистрация
01.11.2013
Сообщения
911
Благодарностей
178
Баллы
43
Делайте в разных местах шаблона оповещения, чтобы увидеть на каком этапе он висит. Т.е. Вы увидите последнее оповещение и приблизительно сможете вычислить где именно он крутится.
опять не правильно выразился, можно написать чтобы не цикл, а одно выполнение если уже осуществляется больше 20 минут, то автоматом инициируются события по BadEnd и зенопостер работает дальше
Поищи где то была статья, как находить ошибки в проэктах там даже скришоты будут.
Точно не помню но вроде полезнае вещи там писались по дебагу
 

rostonix

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

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