Как сделать - Контроль Расписания через C#?

  • Автор темы Автор темы The_vAe
  • Дата начала Дата начала

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 759
Реакции
1 493
Баллы
113
Доброго времени. Доступно ли в зеннопостере возможность редактировать расписание изнутри проекта? Допустим бот увидел, что у него закончился материал для обработки, бот сам же себе поставит - запустить себя завтра в такое же время и добавить либо (-1), либо 999999 повторений на завтра?
Есть предположение, что это можно сделать через батник, но это не точно.
 
Например, поиск по форуму AddTries
 
  • Оценить
Реакции: djaga
В принципе он прав.
Ищите статью по работе с датой и временем, строите нужную вам логику и добавляете функционал AddTries.
В принципе, он не прав. Так как ZennoPoster Расписание - это другой раздел. И AddTries никак на Расписание зенно не влияет. Проблем работы с датой нету и придумать палки - проблем нету. Есть конкретный вопрос - который требует конкретный ответ - без палок - работа из Расписанием Зеннопостера через C#
Расписание, если что, это такая штучка в зеннопостере, вдруг вы не знаете
93518

Здесь можете прочитать что это такое.
 
Последнее редактирование:
да нет такой возможности. можешь сам покопаться - https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic1.html (или вообще написать в ТП у тебя же наверняка Pro версия)
Копался и ничего толком не нашел. Но так как Обновленное Расписание вышло в 2021 году (если не ошибаюсь), возможно была надежда, что что-то добавили.
 
Копался и ничего толком не нашел. Но так как Обновленное Расписание вышло в 2021 году (если не ошибаюсь), возможно была надежда, что что-то добавили.
Посмотрел ради интереса, информация из расписания есть в файле Tasks.dat. Т.е., можно править, по сути. Проблема лишь в том, что изменения в файле не попадают в УЖЕ запущенную зенку, да и после "ребута" куда-то все откатывается в зенке )))
 
  • Оценить
Реакции: volody00
Посмотрел ради интереса, информация из расписания есть в файле Tasks.dat. Т.е., можно править, по сути. Проблема лишь в том, что изменения в файле не попадают в УЖЕ запущенную зенку, да и после "ребута" куда-то все откатывается в зенке )))
Постер при работе хранит данные в памяти и при закрытии сбрасывает их на диск (как и многое другое ПО).

Это разве не помогает?
 
Постер при работе хранит данные в памяти и при закрытии сбрасывает их на диск (как и многое другое ПО).

Это разве не помогает?
Есть у вас примеры, как передать все нужные параметры?
93528


Допустим начало понятно вроде как:
C#:
Развернуть Свернуть Копировать
Guid id = Guid.Parse(project.TaskId);
ZennoPoster.SetSchedulerSettings(id,...);
 
Есть у вас примеры, как передать все нужные параметры?
Вы можете получить его из самого постера, методом по первой ссылке.

Нет метода SetTaskInfo, есть разделённые по задачам.
 
Вы можете получить его из самого постера, методом по первой ссылке.

Нет метода SetTaskInfo, есть разделённые по задачам.
Я то получил, но как его прописать в C#, что бы применилось расписание?
C#:
Развернуть Свернуть Копировать
Guid id = Guid.Parse(project.TaskId);
ZennoPoster.SetSchedulerSettings(id,...);
 
93534

Видимо в xml формате) Посмотри в сохраненных настройках и попробуй оттуда вытянуть xml, далее по примеру установить.
 
Посмотреть вложение 93534
Видимо в xml формате) Посмотри в сохраненных настройках и попробуй оттуда вытянуть xml, далее по примеру установить.
Капитан очевидность. Покажете пример вставки xml в верном формате, что бы расписание применилось, пожалуйста?
Как минимум так не работает:

C#:
Развернуть Свернуть Копировать
// Остановка ZennoPoster
Guid id = Guid.Parse(project.TaskId); // по Guid id задания (проекта)
//ZennoPoster.SetTries(id, 0);

string XML = @"<Scheduler7Settings><Id>bd273704-f0be-4324-af83-99999</Id><IsActive>True</IsActive><ExecutePeriod>EveryDay</ExecutePeriod><StartDateType>Immediately</StartDateType><AttemptsRange>1</AttemptsRange><IsClearSuccess>False</IsClearSuccess><RepeatType>Continued</RepeatType><EndDateType>Infinity</EndDateType><AttemptsCountToDo>1</AttemptsCountToDo><LastScheduleTime>06/23/2022 17:36:14</LastScheduleTime><LastScheduleTimeUI>06/23/2022 17:36:14</LastScheduleTimeUI><NextScheduleTime>01/01/0001 00:00:00</NextScheduleTime><TaskName>Тест</TaskName><GroupName></GroupName><IsOneTimeRunning>False</IsOneTimeRunning><IsTaskRunning>True</IsTaskRunning></Scheduler7Settings><Project><ProjectFileLocation>C:\Users\vAe\Desktop\Тест.zp</ProjectFileLocation><ProjectType>Assembly</ProjectType></Project><SchedulerSettings><Id>2f6d88a2-da8f-4322-8758-4999999</Id><StartDate>06/23/2022 16:41:00</StartDate><SchedulerOnDate>01/01/0001 00:00:00</SchedulerOnDate><EndDate>06/23/2023 16:41:00</EndDate><RepetitionCount>1</RepetitionCount><ScheduleType>EveryMinutes</ScheduleType><RepeatType>FinishAfter</RepeatType><ActivateTime>01/01/0001 00:00:00</ActivateTime><ActivateWorkTime>01/01/0001 00:00:00</ActivateWorkTime><IsActive>False</IsActive><NumberOfTries>0</NumberOfTries><Minutes>1</Minutes><Days>1</Days><LastScheduleDate>01/01/0001 00:00:00</LastScheduleDate><NextScheduleDate>null</NextScheduleDate><IsClearSuccess>False</IsClearSuccess><GroupName></GroupName></SchedulerSettings><PurchaseState>None</PurchaseState>";


ZennoPoster.SetSchedulerSettings(id, XML);
 
Последнее редактирование:

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