счетчики действий прямые и обратные



  • @support - пожалуйста на "досуге" расскажите как сделать счетчик действий для многопотока - задача такая

    имеем файл с определенным количеством строк для обработки - чтобы не включать браузер отслеживаем по логам - получаем ресурс со строками в список - получаем количество строк - создаем глобальную переменнную и присваиваем ей количество строк - выводим в лог - в файле ххх строк. Потом начинается многопоточный цикл обработки - берутся строки и удаляются из ресурса - как сделать счетчик - через увеличить переменную не получается - так как в цикле идет дублирование данных по потокам - и цикл индекс делает то же самое, и да кстати - есть действие увеличить переменную - но нет уменьшить - хочу сделать, чтобы в лог выводилась инфо остатка строк. А каждый раз в конце цикла получать ресурс в список и получать количество строк - как то неправильно - или правильно?



  • @Turutur said in счетчики действий прямые и обратные:

    есть действие увеличить переменную - но нет уменьшить

    Используйте действие "Увеличить переменную" со значением -1.



  • @Turutur на даном этапе можно смотреть в "отчет о ресурсах" в правом верхнем углу программы



  • @wodopad я так пробовал работала некорректно выражение exspresion [[var]]=[[var]]-1 - так должно быть?



  • @Turutur ребята всем спасибо - пока остановился на таком способе - в последних действиях цикла получаю ресурс в список - получаю количество элементов и вывожу в лог - вроде работает



  • @support - пожалуйста подскажите вариант или дайте алгоритм как получать текущую позицию выполненных действий в многопотоке - то есть как реализовать простой счетчик -
    пробую делать так в многопотоке - в скрипте перед началом цикла назначаю перемнную со значением 0 - затем при успешном действии увелициваю ее на 1 и пишу в лог но лог с многопотока имеет такие показатели
    1
    1
    2
    3
    2
    4
    5
    4
    итд...
    как быть?

    и еще по ходу - интересует момент использования ресурсов - то есть сейчас на тексте задействовано 2 акаунта и 2 потока соответственно - лог имеет такой вид
    [18:13:56] Поток №2 : , всего пригласили 1
    [18:14:29] Поток №1 : , всего пригласили 1
    [18:14:29] Поток №2 : , всего пригласили 2
    [18:14:48] Поток №2 : , всего пригласили 3
    [18:14:49] Поток №1 : , всего пригласили 2
    [18:15:13] Поток №1 : , всего пригласили 3
    [18:15:25] Поток №2 : , всего пригласили 4
    [18:15:43] Поток №2 : , всего пригласили 5
    [18:15:57] Поток №1 : , всего пригласили 4
    [18:16:20] Поток №2 : , всего пригласили 6
    [18:16:37] Поток №1 : , всего пригласили 5
    [18:16:41] Поток №2 : , всего пригласили 7
    [18:16:56] Поток №1 : , всего пригласили 6
    [18:17:12] Поток №2 : , всего пригласили 8
    [18:17:27] Поток №1 : всего пригласили 7
    [18:17:56] Поток №1 : , всего пригласили 8
    [18:18:01] Поток №2 : , всего пригласили 9
    [18:18:18] Поток №2 : , всего пригласили 10
    [18:18:28] Поток №1 : всего пригласили 9
    [18:18:42] Поток №2 : , всего пригласили 11
    [18:18:50] Поток №1 : всего пригласили 10
    [18:19:17] Поток №2 : , всего пригласили 12
    [18:19:39] Поток №1 : всего пригласили 11
    [18:19:56] Поток №2 : всего пригласили 13
    [18:20:16] Поток №1 : всего пригласили 12
    [18:20:20] Поток №2 : всего пригласили 14
    [18:20:41] Поток №1 : всего пригласили 13
    [18:20:42] Поток №2 : всего пригласили 15
    [18:21:05] Поток №2 : всего пригласили 16
    [18:21:06] Поток №1 :, всего пригласили 14
    [18:21:24] Поток №2 : , всего пригласили 17
    [18:21:28] Поток №1 : , всего пригласили 15
    [18:21:47] Поток №2 : , всего пригласили 18
    [18:22:08] Поток №1 : уже приглашен или в группе
    [18:22:34] Поток №2 : всего пригласили 19
    [18:22:52] Поток №1 : всего пригласили 16
    [18:22:59] Поток №2 : всего пригласили 20
    [18:23:13] Поток №1 : всего пригласили 17
    [18:23:24] Поток №2 : всего пригласили 21
    [18:23:37] Поток №1 : всего пригласили 18
    [18:23:47] Поток №2 : всего пригласили 22
    [18:24:09] Поток №1 : всего пригласили 19
    [18:24:13] Поток №2 : всего пригласили 23

    из лога видно что переменные в начале совпадают - соответственно потоки идут в ногу, а позже один из потоков отстает от другого на 4 цикла 14 - 13-15-16-14
    с чем это связано? - просто реально визуально вижу что скрипит отдает предпочтение одному и потоков - один поток выполняется быстрее другого - второй висит по долго на одном месте...



  • @Turutur said in счетчики действий прямые и обратные:

    как быть?

    использовать такой же счетчик, но в глобальной переменной. Примеров уже было несколько на форуме.



  • @Turutur said in счетчики действий прямые и обратные:

    просто реально визуально вижу что скрипит отдает предпочтение одному и потоков - один поток выполняется быстрее другого - второй висит по долго на одном месте...

    странны вопрос, уверен, что тебе нужно скрипты создавать )?
    очевидно же, что многопоток, а значит потоки "независимые" , каждый выполняет свое дело, где-то это "дело" занимает больше времени, где-то меньше.



  • @out said in счетчики действий прямые и обратные:

    @Turutur said in счетчики действий прямые и обратные:

    как быть?

    использовать такой же счетчик, но в глобальной переменной. Примеров уже было несколько на форуме.

    замечательно - вот ссылка ответ на запрос - я не могу найти ничего похожего http://community.bablosoft.com/search?term=счетчик&in=titlesposts





  • @out said in счетчики действий прямые и обратные:

    странны вопрос, уверен, что тебе нужно скрипты создавать )?
    очевидно же, что многопоток, а значит потоки "независимые" , каждый выполняет свое дело, где-то это "дело" занимает больше времени, где-то меньше.

    вопрос вовсе не странный - так как потоки выполняют практически равнозначные действия - например - оба потока авторизовались и грузят профиль ок - используя одни и те же мощности и размер страницы примерно одинаковый - но один аккаунт уже загрузил профиль и перешел к следующим действиям - а другой висит на одном месте - визуально не обосновано долго, даже если взять во внимание поочердный запуск потоков - поэтому и возникает такой вопрос



  • @Turutur где-то страница страница загрузилась быстрее , где-то еще догружается (то что видно визуально, не значит , что страница уже загрузилась)
    где-то вообще элемент не найден нужный, и он пытается его найти за таймаут 60сек и т.д. и т.п.



  • @out said in счетчики действий прямые и обратные:

    а пример щас дам 0_1482238756517_wer.xml

    Даааа @out спасибо но походу я реально не туда попал, из примера я абсолютно ничего не понял, ну да ладно.... а что означает логическое если каунт равен 0 - завершаем все остальные потоки - для чего и из-за чего?



  • @Turutur для примера.. чтобы стало понятно, как можно управлять работой потоков / их завершением или деланием чего-то другого, в зависимости от значений глобальных переменных.
    да, скорее всего это не ваше ) Значит, вам остается задавать ОЧЕНЬ конкретные вопросы, тогда участники форуме смогу давать конкретные ответы.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.