@Fox
Вот готовый код, может кому-то будет полезно, его ставим в экшен яваскрипт:
Действие в многопотоке
-
@xclsv Сервис накрутки баллов, аккаунты ставят лайки, а когда акк блокируют, я теряю к нему доступ, т.к акк из магазина с фейка или как там его добыли. Если акк заблокировали, я баллы которые он заработал получить не смогу, обычно блокируют пачками и если один попал в бан, то и все остальные тоже скоро забанят. Таким образом я хочу обезопасить себя слив баллы с остальных, которые еще в работе)) Надеюсь понятно объяснил))
-
@jeffry862
Тут нужен какой-то триггер на слив баллов. Просто так сообщить что-то потокам не получится.
Вариант 1: При бане акка писать в глобальную переменную 1 и во всех потоках установить максимум проверок, в зависимости от того, сколько по времени отрабатывается одна итерация.
Вариант 2: Потокам нужны ресурсы. Если акк банится, то можно очистить ресурс. Если у потоков не будет ресурсов, они не перезапустятся. А уже после отработки всех потоков, можно вызвать функцию слива баллов. Но это будет работать только через вызов функции в несколько потоков, а не через простой запуск скрипта в многопотоке. Также понадобится перезагружать ресурс. Ну и, поскольку, физически потоки не схлопнутся моментально, а отработают текущий ресурс до конца, то этот способ может не подойти, если поток будет отрабатывать слишком долго. -
@jeffry862 через if и глобальные переменные. Все зависит от ситуации...
Иногда можно при загрузке ссылки/действия засунуть в Игнорирование ошибок, если будет ошибку, то в переменно будет true. А дальше if, если переменная true, то слить баллы и т.д. -
@jeffry862 said in Действие в многопотоке:
@xclsv Потоки работают в цикле While(true), если один акк - бан - слив - глобальная переменная == 1, проверка по всем потокам, если глобальная переменная == 1 - функция слив - прервать скрипт. Так можно?
Вроде того.