Добавить поток из проекта

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8
Нужно сделать кубик чтобы добавлял 1 поток к проекту, нашел этот код

var id = Guid.Parse(project.TaskId);
ZennoPoster.AddTries(id, 1);

но он у меня не работает, в логе пишет ошибку

AddTries by id Сервер не смог обработать запрос в связи с внутренней ошибкой. Для получения дополнительных сведений об ошибке либо включите IncludeExceptionDetailInFaults (с помощью атрибута ServiceBehaviorAttribute или через поведение < serviceDebug >) на сервере для того чтобы выслать информацию об исключении назад клиенту, или включить трассировку согласно инструкции Microsoft .NET Framework SDK и проверить записи журнала трассировки клиента.

Что я делаю не так? Версия 7.1.6.1
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Обрати внимание на
+ Проводится рефакторинг для устранения дефектов (Переименование классов для соблюдения единых стандартов, в рамках улучшения качества). Задекларированное публичное API не поменялось. Но, если вы когда-то использовали в проектах в своем коде незадокументированные референсы библиотек ZP, то могут наблюдаться проблемы.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Обрати внимание на
+ Проводится рефакторинг для устранения дефектов (Переименование классов для соблюдения единых стандартов, в рамках улучшения качества). Задекларированное публичное API не поменялось. Но, если вы когда-то использовали в проектах в своем коде незадокументированные референсы библиотек ZP, то могут наблюдаться проблемы.
у него 7.1.6.1 , зачем ему знать о рефакторинге в 7.4 ? :ca:

код рабочий. ошибки при выполнении этого кода, говорят о проблемах в системе.
тут либо попробовать обновить весь .net и c++ dll , либо грохать всю систему и накатывать с нуля. недавно мне помог только 2-й вариант.
 

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8
Может обновить зенку нужно до последней версии?
 
Регистрация
07.08.2019
Сообщения
76
Благодарностей
80
Баллы
18
Такая ошибка у меня лезет только в ПМ. А в ЗП все работает отлично. Тестируйте в ЗП. Должно все работать.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Регистрация
07.08.2019
Сообщения
76
Благодарностей
80
Баллы
18

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8
Посмотреть вложение 75629
Если у тебя норм, значит проблема в винде, может пора ее сносить и новою установить.
Комп рабочий сносить не вариант

Забавно конечно. Но главное что все работает в ЗП :dq: Не буду пока трогать))):bk:
у меня в зп не работает, потоки не добавляет
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
ZennoPoster.AddTries(id, 1); - добавляет НЕ потоки, а кол-во выполнений.
Чтоб изменить максимальное количество потоков для проекта, можно использовать такой код:
C#:
var id = Guid.Parse(project.TaskId);
ZennoPoster.SetMaxThreads(id, 10);
Эти два варианта будут работать ТОЛЬКО в ZennoPoster, т.к. ищут задания через id.

ZennoPoster.SetMaxThreads("Projectname", 1); - этот вариант будет работать в PM тоже. Вместо Projectname надо указать имя проекта, как оно отображается в ZP.
 
  • Спасибо
Реакции: zennoX, Mike и wmajiug3e

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8
ZennoPoster.AddTries(id, 1); - добавляет НЕ потоки, а кол-во выполнений.
Чтоб изменить максимальное количество потоков для проекта, можно использовать такой код:
C#:
var id = Guid.Parse(project.TaskId);
ZennoPoster.SetMaxThreads(id, 10);
Эти два варианта будут работать ТОЛЬКО в ZennoPoster, т.к. ищут задания через id.

ZennoPoster.SetMaxThreads("Projectname", 1); - этот вариант будет работать в PM тоже. Вместо Projectname надо указать имя проекта, как оно отображается в ZP.
Спасибо, а можно как в выполнениях делать +1 поток кубиком, а не максимальное количество потоков выполнять?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Спасибо, а можно как в выполнениях делать +1 поток кубиком, а не максимальное количество потоков выполнять?
Будет работать только в ZennoPoster. Добавляет +1 поток к текущему кол-ву потоков.
C#:
// Не забудь подключить System.Xml (4.0.0.) в GAC
var id = Guid.Parse(project.TaskId);

string taskInfo = ZennoPoster.GetTaskInfo(id);
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml("<Task>" + taskInfo + "</Task>");

System.Xml.XmlNode maxThreads = doc.SelectSingleNode("Task/ExecutionSettings/LimitOfThreads");

if (maxThreads == null)
    throw new Exception("Не удалось достать кол-во потоков");

int currentThreadsCount = Convert.ToInt32(maxThreads.InnerText);

ZennoPoster.SetMaxThreads(id, currentThreadsCount+1);
 

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
  • Спасибо
Реакции: Джек Воробей

alexzver

Client
Регистрация
28.12.2015
Сообщения
59
Благодарностей
10
Баллы
8
Будет работать только в ZennoPoster. Добавляет +1 поток к текущему кол-ву потоков.
C#:
// Не забудь подключить System.Xml (4.0.0.) в GAC
var id = Guid.Parse(project.TaskId);

string taskInfo = ZennoPoster.GetTaskInfo(id);
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml("<Task>" + taskInfo + "</Task>");

System.Xml.XmlNode maxThreads = doc.SelectSingleNode("Task/ExecutionSettings/LimitOfThreads");

if (maxThreads == null)
    throw new Exception("Не удалось достать кол-во потоков");

int currentThreadsCount = Convert.ToInt32(maxThreads.InnerText);

ZennoPoster.SetMaxThreads(id, currentThreadsCount+1);
:bi:Спасибо
 
  • Спасибо
Реакции: санчил
Регистрация
26.05.2020
Сообщения
497
Благодарностей
172
Баллы
43
Народ, чет, чтобы я не пробовал, получается только потоками управлять, а +1 так и не смог запустить.
Поделитесь кодом, как считать заданное количество потоков в настройках зеннопостера и каким кодом добавлять +1 к количеству выполнений, чтоб оно не было больше заданного количества потоков?
 
Регистрация
28.06.2016
Сообщения
308
Благодарностей
17
Баллы
18
ZennoPoster.AddTries(id, 1); - добавляет НЕ потоки, а кол-во выполнений.
Чтоб изменить максимальное количество потоков для проекта, можно использовать такой код:
C#:
var id = Guid.Parse(project.TaskId);
ZennoPoster.SetMaxThreads(id, 10);
Эти два варианта будут работать ТОЛЬКО в ZennoPoster, т.к. ищут задания через id.

ZennoPoster.SetMaxThreads("Projectname", 1); - этот вариант будет работать в PM тоже. Вместо Projectname надо указать имя проекта, как оно отображается в ZP.
А какие ссылки добавить нужно чтобы заработал код +1 задание?
 

wmajiug3e

Client
Регистрация
29.11.2019
Сообщения
72
Благодарностей
16
Баллы
8

санчил

Client
Регистрация
15.04.2016
Сообщения
334
Благодарностей
60
Баллы
28
добрый день! подскажите пожалуйста как в цифру 10 заменить переменной?

var id = Guid.Parse(project.TaskId);
ZennoPoster.SetMaxThreads(id, 10);
ZennoPoster.AddTries(id, +1);
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 267
Благодарностей
687
Баллы
113
добрый день! подскажите пожалуйста как в цифру 10 заменить переменной?

var id = Guid.Parse(project.TaskId);
ZennoPoster.SetMaxThreads(id, 10);
ZennoPoster.AddTries(id, +1);
C#:
var id = Guid.Parse(project.TaskId);

ZennoPoster.SetMaxThreads(id, Convert.ToInt32(project.Variables["ПЕРЕМЕННАЯ"].Value));

ZennoPoster.AddTries(id, +1);
 
  • Спасибо
Реакции: санчил

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