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

The_vAe

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

Alex733

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

The_vAe

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

Astraport

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

The_vAe

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

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

volody00

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

The_vAe

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

Moonwalker

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

Yuriy Zymlex

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

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

The_vAe

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

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


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

Yuriy Zymlex

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

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

The_vAe

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

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

Dr.Pipetka

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

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

The_vAe

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

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