project.Variables["varname"].Value
Спасибо.Записать в переменную {-Project.Name-}, потом прочитать из кода
JavaScript:project.Variables["varname"].Value
а уменьшение время выполнения команды не помогает (в настройках постера)?В общем то я собираюсь логгировать зависшие потоки (потоков > 50-70) по имени, и хоть в ручную понять - сколько виснет...
Может быть есть ещё варианты, как это делать?
И какой выход? - регулярно перезапускать Зеннопостер.
Смотрю в сторону AutoHotkey... как еще?
забыли, думали, что не нужен, надо добавить.П.С. а чего не сделать {-Project.Name-} в раскрывающемся списке, я то первым делом там посмотрел, ... не нашел
var stats = Global.Statistics.StatsCollector.Instance.DataSource;
return stats.Where(kv=>kv.Key==Global.Statistics.StatType.WorkingThreads).Select(kv=>kv.Value).FirstOrDefault();
// reading task name from the variable
var searchName = project.Variables["taskName"].Value;
var searchResult = false;
// get the task list from the ZennoPoster
var tasks = ZennoPoster.TasksList;
foreach (var tsk in tasks)
{
// loading Xml documnt with task content
var doc = new System.Xml.XmlDocument();
doc.LoadXml("<Task>" + tsk + "</Task>");
// Search task by name
var nameElement = doc.SelectSingleNode("Task/Name");
if(nameElement == null) continue;
var name = nameElement.InnerText;
// if we found our task
if (name == searchName)
{
// take task id
var idElement = doc.SelectSingleNode("Task/Id");
if (idElement == null) continue;
var id = Guid.Parse(idElement.InnerText);
// take execution settings element
var esElement = doc.SelectSingleNode("Task/ExecutionSettings");
if (esElement == null) continue;
// take limit of threads of the task
var threadsElement = doc.SelectSingleNode("Task/ExecutionSettings/LimitOfThreads");
if (threadsElement == null) continue;
// change the value
threadsElement.InnerText = "100";
// set new settings
ZennoPoster.SetExecutionSettings(id, esElement.InnerXml);
searchResult = true;
break;
}
}
if (!searchResult)
throw new Exception("Task " + searchName + " not found!");
Возвращает просто OK, в чем может быть причина?Есть у меня пример как настраивать работающие проекты, данный пример устанавливает 100 попыток у задания в постере с именем из переменной
Аналогичный подход можно использовать и в вашей ситуации
P.S. НЕ забудьте добавить System.Xml в ссылки проекта.JavaScript:// reading task name from the variable var searchName = project.Variables["taskName"].Value; var searchResult = false; // get the task list from the ZennoPoster var tasks = ZennoPoster.TasksList; foreach (var tsk in tasks) { // loading Xml documnt with task content var doc = new System.Xml.XmlDocument(); doc.LoadXml("<Task>" + tsk + "</Task>"); // Search task by name var nameElement = doc.SelectSingleNode("Task/Name"); if(nameElement == null) continue; var name = nameElement.InnerText; // if we found our task if (name == searchName) { // take task id var idElement = doc.SelectSingleNode("Task/Id"); if (idElement == null) continue; var id = Guid.Parse(idElement.InnerText); // take execution settings element var esElement = doc.SelectSingleNode("Task/ExecutionSettings"); if (esElement == null) continue; // take limit of threads of the task var threadsElement = doc.SelectSingleNode("Task/ExecutionSettings/LimitOfThreads"); if (threadsElement == null) continue; // change the value threadsElement.InnerText = "100"; // set new settings ZennoPoster.SetExecutionSettings(id, esElement.InnerXml); searchResult = true; break; } } if (!searchResult) throw new Exception("Task " + searchName + " not found!");
Всегда получаю ошибку "Выполнение действия CSharp OwnCode. Task Name_Temp not found!", сам шаблон Name_Temp.xmlz лежит рядом и так же есть в зенно, System.Xml в ссылки проекта добавлен, что ему не нравится?Возвращает просто OK, в чем может быть причина?
добавлял, так же (Забыли может добавить .xmlz к названию шаблона?