- Регистрация
- 23.12.2014
- Сообщения
- 14 414
- Благодарностей
- 5 454
- Баллы
- 113
Прошу реализовать возможность получить кол-во потоков шаблона в текущий момент времени (по факту).
Точно.Годное предложение! А такой еще функции точно нет?
Это уже естьДа да, и еще прям из шаблона добавлять потоки и попытки
Извиняюсь за замечание, но вы явно путаете понятие: Костыль и Надстройка.Ну свой класс это как бы тоже костыль конешно, ну да ладно.
//field
HtmlElement he;
//.ctor
public MyClass()
{
he = null;
}
//method
public void ClickByXPath(string xPath, int number = 0)
{
he = instance.ActiveTab.FindElementByXPath(xPath, number);
if (he.IsVoid()) throw new Exception("Элементе html не найден! Путь"+ xPath);
he.Click();
}
Проверим. Но уже не сегодня.
Тогда было бы очень полезно узнать текущее кол-во потов (из вне), так как сейчас есть идея реализации автонастраиваемого алгоритма, по кол-ву потоков исходя из общей загрузки CPU. И доступ к сетевому монитору, к свойствам всего и максимум соединений и + писал про кол-во прокси в списке живых.В общем он показывает только внутри проекта. А из вне никак не узнать.
Ну я такой алгоритм и делаю. Получает кол-во строк со списка прокси и запускает необходимое кол-во потоков. Смотрит сколько акков в списке и добавляет нужно кол-во аккаунтов и т.д.Тогда было бы очень полезно узнать текущее кол-во потов (из вне), так как сейчас есть идея реализации автонастраиваемого алгоритма, по кол-ву потоков исходя из общей загрузки CPU. И доступ к сетевому монитору, к свойствам всего и максимум соединений и + писал про кол-во прокси в списке живых.
То есть, нажал старт, пошел делать дела, а шаблон автоматически разгоняется по мере доступных ресурсов.
Аналогично и вроде здраво, автоматизация, ради автоматизации)Ну я такой алгоритм и делаю. Получает кол-во строк со списка прокси и запускает необходимое кол-во потоков. Смотрит сколько акков в списке и добавляет нужно кол-во аккаунтов и т.д.
конечно возможно, что прокси не работает, тогда надо допиливать логику)
Цель не повесить случайно 10 акков на одну проксю (условно) + еще хотелось бы сохранять прокси в профиле.Аналогично и вроде здраво, автоматизация, ради автоматизации)
Ответ по сообщению: возможно доп. проект "чекер прокси", который оставляет только актуальные в списке.
С глобалками лучше лишний раз не связыватся. Если прервал работу то ничего по Good не пойдет и логика сломаетсяА через глобальную переменную нельзя сделать? В виде счетчика. Инстант начал работу - увеличили.
Закончился - не важно где и как ( good end, bad end ) - уменьшили количество. И всегда под рукою будет количество потоков )
int threadsZP = ZennoPoster.GetThreadsCount();
int currentTaskThreadsById = ZennoPoster.GetThreadsCount(Id);
int currentTaskThreadsByName = ZennoPoster.GetThreadsCount(Name);
это пример. а не готовое решение. каждая строка это лишь демонстрация возможности новых методов. да и Id и Name надо заменять на свои.Не понимаю как им пользоваться? Если просто этот код вставить в кубик, то выдает ошибку(
Тебе сюдаНе понимаю как им пользоваться? Если просто этот код вставить в кубик, то выдает ошибку(
Не понимаю как им пользоваться? Если просто этот код вставить в кубик, то выдает ошибку(
А как узнать сколько выставлено максимальное количество потоков, а не сколько именно в настоящий момент выполняется?Будет в 7.3.0.0.
Оставлю тут:
C#:int threadsZP = ZennoPoster.GetThreadsCount(); int currentTaskThreadsById = ZennoPoster.GetThreadsCount(Id); int currentTaskThreadsByName = ZennoPoster.GetThreadsCount(Name);
var id = Guid.Parse(project.TaskId);
int threadsZP = ZennoPoster.GetThreadsCount(id);
project.SendInfoToLog("Всего потоков: " + threadsZP.ToString(), true);
Работает ли? Стопицот тем перечитал об одном и том же, и рабочих решений чет как-то никаких ((( Трудно быть нубом...Будет в 7.3.0.0.
Оставлю тут:
C#:int threadsZP = ZennoPoster.GetThreadsCount(); int currentTaskThreadsById = ZennoPoster.GetThreadsCount(Id); int currentTaskThreadsByName = ZennoPoster.GetThreadsCount(Name);
Работает ли? Стопицот тем перечитал об одном и том же, и рабочих решений чет как-то никаких ((( Трудно быть нубом...
var Id = Guid.Parse(project.TaskId); //получаем id шаблона
int currentTaskThreadsById = ZennoPoster.GetThreadsCount(Id); //получаем количество потоков по id шаблона
if (currentTaskThreadsById > 15) ZennoPoster.SetMaxThreads(Id, 15); //если потоков больше 15, то ограничиваем до 15
Это было ключевым словом )))в ProjectMaker не работает
PM - отдельная программа.Работает в самом ZennoPoster или ZennoBox, в ProjectMaker не работает.C#:var Id = Guid.Parse(project.TaskId); //получаем id шаблона int currentTaskThreadsById = ZennoPoster.GetThreadsCount(Id); //получаем количество потоков по id шаблона if (currentTaskThreadsById > 15) ZennoPoster.SetMaxThreads(Id, 15); //если потоков больше 15, то ограничиваем до 15
А есть вариант получить это значение:А как узнать сколько выставлено максимальное количество потоков, а не сколько именно в настоящий момент выполняется?
И как изменить это значение?
А если допустим выполняется 10 потоков, и в процессе выполнения скрипта меняется на 9 количество - то поднятый 10 инстанс нормально до своего логического конца доработает или он бросит выполнения после изменения?
У меня в проекте вот такой код:
Выставлено максимально 5 потоков. Добавил 30 заданий. Результат на скриншоте:C#:var id = Guid.Parse(project.TaskId); int threadsZP = ZennoPoster.GetThreadsCount(id); project.SendInfoToLog("Всего потоков: " + threadsZP.ToString(), true);
Посмотреть вложение 72507
а как получить в переменную потоки?PM - отдельная программа.