Работа шаблона определенное кол-во времени в сутки

marsel80

Client
Регистрация
09.04.2015
Сообщения
304
Благодарностей
26
Баллы
28
Всем привет, коллеги.

Возник вопрос: нужно что бы шаб запустился например в 8:00 утра и отрабатывал например до 20:00. Не являюсь боле мене продвинутым юзером в зенке, поэтому хожу рядом да окло но ни как не могу эти мысли собрать воедино.

Помогите плиз осуществить эту функцию. Заранее спасибо.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 545
Баллы
113
Кликаете по шаблону в ZennoPoster, внизу вкладка "Расписание":
 
  • Спасибо
Реакции: marsel80

marsel80

Client
Регистрация
09.04.2015
Сообщения
304
Благодарностей
26
Баллы
28
Кликаете по шаблону в ZennoPoster, внизу вкладка "Расписание":
Спасибо, про это знал, но как сделать это в комплексе под мои задачи. У меня шаблон работает сейчас: запускается каждые 15 минут, делая один проход. Не стал циклами делать его в самом шаблоне, а решил что так будет лучше. Как указали вы, у меня шаблон запуститься в 8 часов и закроется в 20 часов, а как сделать теперь паузы между выполнениями\перезапусками шаблона? В общем с 8 до 20 шаб должен зпаускаться каждые 15 минут. Ведт в данных настройках я выбираю либо одно, либо другое. Заранее спасибо за ответ!
 

marsel80

Client
Регистрация
09.04.2015
Сообщения
304
Благодарностей
26
Баллы
28
Просто обычная масса прог это проги exe формата, у меня там есть кнопка при нажатии которой я указываю диапазон работы проги с и до, а так же у меня например аккаунт выполняет подписку и нужно что бы он подписывался каждые 15-20 минут в течении например с 8 утра до 20 вечера. Просто подскажите как правильнее это сделать. Ибо выход то я состряпаю, но порой из за незнания у меня код становиться большим и грамоздким, ну и ошибки потом не исключены.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 545
Баллы
113
а как сделать теперь паузы между выполнениями\перезапусками шаблона? В общем с 8 до 20 шаб должен зпаускаться каждые 15 минут. Ведт в данных настройках я выбираю либо одно, либо другое. Заранее спасибо за ответ!
Например так:
1. В расписании стоит запуск с утра 8 до 20 вечера.
Паузы прописываем внутри шаблона - по завершению очередной итерации, записываем в файл время завершения работы шаблона.
И при каждом запуске проверяем, прошло ли 15 минут с последней итерации, если нет - завершаем шаблон.

2. В расписании стоит запуск каждые 15 минут.
В этом варианте ограничиваем работу шаблона по времени. Перед запуском шаблона проверяем, что сейчас больше 8 часов, но меньше 20.
Если шаблон запущен в неподходящее время, ведём стрелку на блок, который завершит работу шаблона.
 
  • Спасибо
Реакции: marsel80

marsel80

Client
Регистрация
09.04.2015
Сообщения
304
Благодарностей
26
Баллы
28
Второй вариант наверное будет ближе к истине. Но могли бы уточнить: как сделать такую логику(куда ставить знаю, как сделать не знаю)? у меня 100500 профилей и если всем указать один и тот же txt файл это не сильно ли нагрузит(не знаю что там, но предполагаю что что то будет кушать: оперативы там или что то еще, возможно заблуждаюсь, поэтому спрашиваю у вас) Я предпалагал занести данные о времени в txt файл. сейчас подумал, что возможно можно его брать с данных переменных Окружение типо вот такие там данные 02/11/2018 16:04:04
 

marsel80

Client
Регистрация
09.04.2015
Сообщения
304
Благодарностей
26
Баллы
28
В общем выкрутился вот так: сначала взял значение в часах {-TimeNow.Hour-}, далее пошел в кубик if и прописал вот так: '{-TimeNow.Hour-}'>='8'||'{-TimeNow.Hour-}'<='21' по зеленой вышел на да(значит на данное время переменная{-TimeNow.Hour-} меньше 8 и естественно меньше 21, если идем по красной ветке так как переменная по данному выходу всегда больше или равно 8, либо меньше либо равно 21.

Оцените плиз знатоки, верно я состряпал ?

Хотя не фига не правильно....
 
Последнее редактирование:

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 545
Баллы
113
Оцените плиз знатоки, верно я состряпал ?
P.S. хотя вот когда будет 0 часов ночи, то оно уйдет по зеленой ветке, что то нужно придумать.
Числа прописываются без кавычек.
Условие неверное, т.к. в нашем случае должны проверяться 2 пары аргументов. Следовательно нужно заменить || (или) на && (и).
Код:
{-TimeNow.Hour-}>=8 && {-TimeNow.Hour-}<=21
 
  • Спасибо
Реакции: iss и marsel80

marsel80

Client
Регистрация
09.04.2015
Сообщения
304
Благодарностей
26
Баллы
28
Числа прописываются без кавычек.
Условие неверное, т.к. в нашем случае должны проверяться 2 пары аргументов. Следовательно нужно заменить || (или) на && (и).
Код:
{-TimeNow.Hour-}>=8 && {-TimeNow.Hour-}<=21
Спасибо вам большое)))
 

iss

Client
Регистрация
08.09.2016
Сообщения
31
Благодарностей
6
Баллы
8
Числа прописываются без кавычек.
Условие неверное, т.к. в нашем случае должны проверяться 2 пары аргументов. Следовательно нужно заменить || (или) на && (и).
Код:
{-TimeNow.Hour-}>=8 && {-TimeNow.Hour-}<=21
А можете подсказать, как можно доработать. Если необходимо сделать диапазон не только на часы, но и на минуты.

Тоесть например такое

{-TimeNow.Hour.Minute-}>=8:30 && {-TimeNow.Hour.Minute-}<=21:30


Я конечно костыль себе придумал вида {-TimeNow.Hour-}:{-TimeNow.Minute-} и потом в переменную и сравнивать. Но может есть вариант с макросом сразу. В вики не нашел, только с фоматом даты {-TimeNow.Date[DateFormat]-} , но не понял как от туда тогда исключить дату и поставить только время. Буду признателен за ликбез или за ссылку где можно почитать про макросы.
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Если необходимо сделать диапазон не только на часы, но и на минуты.
Я делаю так:
C#:
TimeSpan begin = new TimeSpan(4, 00, 0);
TimeSpan end = new TimeSpan(11, 00, 0);

if (DateTime.Now.TimeOfDay >= begin && DateTime.Now.TimeOfDay < end){ 

    //время в заданном интервале
    //запускаю нужный шаблон
    ZennoPoster.AddTries("UnsubscribeChannels", tries);// Запуск шаблона с помощью https://zennolab.com/discussion/threads/upravlenie-shablonom-c.54713/ 
}
else{

    //время вне интервала
    //выполняю другие задачи, например чищу базу

}
Соответственно в переменных можно устанавливать минуты и секунды. (4 и 11 это часы)
Этот код я использую в отдельном шаблоне который запускается по расписанию в зеннопостере и уже по нужному мне времени запускает другие.
 
  • Спасибо
Реакции: iss

iss

Client
Регистрация
08.09.2016
Сообщения
31
Благодарностей
6
Баллы
8
Я делаю так:
C#:
TimeSpan begin = new TimeSpan(4, 00, 0);
TimeSpan end = new TimeSpan(11, 00, 0);

if (DateTime.Now.TimeOfDay >= begin && DateTime.Now.TimeOfDay < end){

    //время в заданном интервале
    //запускаю нужный шаблон
    ZennoPoster.AddTries("UnsubscribeChannels", tries);// Запуск шаблона с помощью https://zennolab.com/discussion/threads/upravlenie-shablonom-c.54713/
}
else{

    //время вне интервала
    //выполняю другие задачи, например чищу базу

}
Соответственно в переменных можно устанавливать минуты и секунды. (4 и 11 это часы)
Этот код я использую в отдельном шаблоне который запускается по расписанию в зеннопостере и уже по нужному мне времени запускает другие.
Спасибо. Если не сложно подскажи, как сделать выход по зеленой и красной ветки в рамках этого кубика C# ну или пример может темы гдже это обсуждалось. Для меня нужна как-раз такая логика в рамках одного шаблона.
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
C#:
TimeSpan begin = new TimeSpan(4, 00, 0);
TimeSpan end = new TimeSpan(11, 00, 0);

if (DateTime.Now.TimeOfDay >= begin && DateTime.Now.TimeOfDay < end){ 

    //время в заданном интервале
    return "ok"; // выход по зеленой
}
else{

    //время вне интервала
    throw new Exception("Время вне интервала, выходим по красной");
}
 
Последнее редактирование:
  • Спасибо
Реакции: iss

iss

Client
Регистрация
08.09.2016
Сообщения
31
Благодарностей
6
Баллы
8
C#:
TimeSpan begin = new TimeSpan(4, 00, 0);
TimeSpan end = new TimeSpan(11, 00, 0);

if (DateTime.Now.TimeOfDay >= begin && DateTime.Now.TimeOfDay < end){ 

    //время в заданном интервале
    return "ok"; // выход по зеленой
}
}
else{

    //время вне интервала
    throw new Exception("Время вне интервала, выходим по красной");
}
Все ок. Лишний тег закрывающий только забыл убрать наверное, перед else. То что нужно!
 
  • Спасибо
Реакции: Koqpe

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113

Spikers07

Client
Регистрация
25.05.2016
Сообщения
120
Благодарностей
53
Баллы
28
У меня как то так на всех шабах под копирку)
51835
 
  • Спасибо
Реакции: kul0n и Koqpe

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