Входные настройки

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

Bullet

Client
Регистрация
16.12.2015
Сообщения
185
Реакции
19
Баллы
18
Обнаружил для себя неприятную вещь. Когда создаешь в ZP несколько заданий, с разными именами, на основе одного шаблонного проекта - нельзя задать разные входные настройки заданиям. Меняешь у одного задания - меняется у всех остальных. При этом, guid у всех разный.
Возможно ли это как то обойти или придется копировать шаблонный проект под другим именем и запускать его?
 
Не могу подтверджить наличие такой проблемы, так как очень активно использую один шаб с разными настройками. Запишите видео как воспроизводите проблему
 
Проверил добавляя вручную - подтверждаю, настройки меняются. Значит проблема в коде.
Использую следующий код, который добавляет в цикле задания, затем производит замену значений входных параметров и импортирует новые параметры:

Код:
Развернуть Свернуть Копировать
var guid = Guid.NewGuid();

var task =
"<Id>"+guid+"</Id>"+
"<Name>"+project.Variables["name"].Value+"</Name>"+
"<CreateTime>01/01/0001 00:00:00</CreateTime>"+
"<ExecutionSettings>    "+
"    <LimitOfThreads>1</LimitOfThreads>"+
"    <MaxAllowOfThreads>0</MaxAllowOfThreads>"+
"    <DoneSuccesfully>0</DoneSuccesfully>"+
"    <DoneAll>0</DoneAll>"+
"    <NumberOfTries>1</NumberOfTries>"+
"    <LastNumberOfTries>0</LastNumberOfTries>"+
"    <Priority>50</Priority>"+
"    <Proxy>DoNotUseProxy</Proxy>"+
"    <Status>Newbie</Status>"+
"    <ProxyLabels></ProxyLabels>"+
"    <ShouldBeExecutedRandomly>False</ShouldBeExecutedRandomly>"+
"    <GroupLabels>"+project.Variables["label"].Value+"</GroupLabels>"+
"    <GroupStates>Выполнены</GroupStates>"+
"    <MaxNumOfSuccesStop>-1</MaxNumOfSuccesStop>"+
"    <MaxNumOfFailStop>-1</MaxNumOfFailStop>"+
"    <NumOfFailStop>0</NumOfFailStop>"+
"</ExecutionSettings>"+
"<SchedulerSettings>"+
"    <StartDate>01/01/0001 00:00:00</StartDate>"+
"    <EndDate>01/01/0001 00:00: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>"+
"    <IsClearSucces>False</IsClearSucces>"+
"</SchedulerSettings>"+
"<Project>"+
"    <ProjectFileLocation>"+project.Variables["patch"].Value+"</ProjectFileLocation>"+
"    <ProjectType>Assembly</ProjectType>"+
"</Project>";
//Добавляем новую задачу
ZennoPoster.AddTask(task);

//Меняем значения входных параметров
var exportSettings = ZennoPoster.ExportInputSettings(guid);
exportSettings = Regex.Replace(exportSettings, @"projectname", project.Variables["name"].Value);
ZennoPoster.ImportInputSettings(guid, exportSettings);

Значение переменной patch, в данном случае, не меняется - т.е. используется один файл шаблона для всех заданий.

В заданиях, созданных этим кодом, при изменении значения входного параметра в ZP вручную у одного - меняется у всех остальных.
 
Дополнительные вводные:
1. При работе цикла, значение переменной exportSettings - не меняется, остается значение, сформированное на первой итерации
2. После создания кодом набора заданий, они все, как бы "привязаны" к одному набору входных параметров, при изменении какого либо параметра у одного задания - у всех остальных значение тоже меняется
3. При добавлении к сформированному списку заданий еще одного, но руками - его входные параметры индивидуальны и не зависят от значений других
4. Значение guid на каждой итерации исправно меняется
 
Дальнейшее расследование показало, что виной объединения всех задач в некую "группу" с одними и теми же входными параметрами, является метод AddTask (либо я его неправильно использую). Все задачи, созданные методом AddTask через код, приведенный выше, объединены единственными входными параметрами, которые меняются у всех задач, при изменении значения в любой из них. Повторюсь, что при ручном добавлении такой проблемы нет.
Это бага, фича или мои кривые руки?
 
CreateTime попробуй делать уникальным для каждого таска
Ого, помогло.. Ну кто бы мог подумать. Спасибо!
Текущее время использовать, видимо, не вариант, т.к. в одну и ту же секунду будут созданы несколько тасков. Попробую играть значением года, 9999 должно хватить.
 

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