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

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Доброго времени. Доступно ли в зеннопостере возможность редактировать расписание изнутри проекта? Допустим бот увидел, что у него закончился материал для обработки, бот сам же себе поставит - запустить себя завтра в такое же время и добавить либо (-1), либо 999999 повторений на завтра?
Есть предположение, что это можно сделать через батник, но это не точно.
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
330
Благодарностей
243
Баллы
43
Например, поиск по форуму AddTries
 
  • Спасибо
Реакции: djaga

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
В принципе он прав.
Ищите статью по работе с датой и временем, строите нужную вам логику и добавляете функционал AddTries.
В принципе, он не прав. Так как ZennoPoster Расписание - это другой раздел. И AddTries никак на Расписание зенно не влияет. Проблем работы с датой нету и придумать палки - проблем нету. Есть конкретный вопрос - который требует конкретный ответ - без палок - работа из Расписанием Зеннопостера через C#
Расписание, если что, это такая штучка в зеннопостере, вдруг вы не знаете
93518

Здесь можете прочитать что это такое.
 
Последнее редактирование:

volody00

Client
Регистрация
06.09.2016
Сообщения
918
Благодарностей
953
Баллы
93

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
да нет такой возможности. можешь сам покопаться - https://help.zennolab.com/en/v7/zennoposter/7.1.4/webframe.html#topic1.html (или вообще написать в ТП у тебя же наверняка Pro версия)
Копался и ничего толком не нашел. Но так как Обновленное Расписание вышло в 2021 году (если не ошибаюсь), возможно была надежда, что что-то добавили.
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 631
Благодарностей
1 225
Баллы
113
Копался и ничего толком не нашел. Но так как Обновленное Расписание вышло в 2021 году (если не ошибаюсь), возможно была надежда, что что-то добавили.
Посмотрел ради интереса, информация из расписания есть в файле Tasks.dat. Т.е., можно править, по сути. Проблема лишь в том, что изменения в файле не попадают в УЖЕ запущенную зенку, да и после "ребута" куда-то все откатывается в зенке )))
 
  • Спасибо
Реакции: volody00

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Посмотрел ради интереса, информация из расписания есть в файле Tasks.dat. Т.е., можно править, по сути. Проблема лишь в том, что изменения в файле не попадают в УЖЕ запущенную зенку, да и после "ребута" куда-то все откатывается в зенке )))
Постер при работе хранит данные в памяти и при закрытии сбрасывает их на диск (как и многое другое ПО).

Это разве не помогает?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Постер при работе хранит данные в памяти и при закрытии сбрасывает их на диск (как и многое другое ПО).

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


Допустим начало понятно вроде как:
C#:
Guid id = Guid.Parse(project.TaskId);
ZennoPoster.SetSchedulerSettings(id,...);
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Есть у вас примеры, как передать все нужные параметры?
Вы можете получить его из самого постера, методом по первой ссылке.

Нет метода SetTaskInfo, есть разделённые по задачам.
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Вы можете получить его из самого постера, методом по первой ссылке.

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

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 307
Благодарностей
865
Баллы
113
93534

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

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 319
Баллы
113
Посмотреть вложение 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);
 
Последнее редактирование:

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