Многопоток в одной таблице

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
Всем привет, уважаемые Гуру. Только начинаю делать шаблоны, собрал неплохой шаблон-чекер для аккаунтов нужного мне сервиса. Но работать могу только в одном потоке... Не могу никак придумать или разобраться, как заставить зенку не пересекаться в многопотоке.
Общая суть такая:
Есть таблица. Каждая строчка - это данные от аккаунта. Бот берет ячейку с логином, проверяет, и если аккаунт заблокирован - удаляет всю строку, дальше счетчик плюсуется в переменную и бот берет следующую строку. Короче в многопотоке все потоки идут параллельно и все берут первую строку... потом вторую... и т.д...
Подскажите, пожалуйста, фишки, как сделать так, чтоб они видели какую строчку взял другой поток или что-то в этом роде... Или может придется менять всю концепцию...
Просто аккаунтов загружается много 100+. И процесс проверки с кучей заданных параметров и дополнительных проверок, занимает до 2 минут на строку... Соответственно, моя автоматизация - это эффектно, но не очень эффективно )))
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 369
Благодарностей
959
Баллы
113
Поток берет первую строку и кладет ее в конец, сохраняет таблицу. Для следующего потока будет другая строка первой.
 
  • Спасибо
Реакции: slash4ik

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
Поток берет первую строку и кладет ее в конец, сохраняет таблицу. Для следующего потока будет другая строка первой.
интересно... а чтоб не совпало по времени, сделать на старте паузу рандомную? или не реально, чтоб они в один момент одну и ту же строку взяли?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
интересно... а чтоб не совпало по времени, сделать на старте паузу рандомную? или не реально, чтоб они в один момент одну и ту же строку взяли?
если взятие происходит с удалением через стандартный кубик работы, то там уже всё предусмотрено
 
  • Спасибо
Реакции: slash4ik

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
блин красавцы. Спасибо большое, парни за ответы!
 

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
парни, а я вот не вижу как переместить в конец таблицы строку(( Взять строку вижу, а дальше её можно только в список или в переменную запихать... (
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 369
Благодарностей
959
Баллы
113
Берешь первую с удалением. Разложив по переменным. Потом добавляешь в конец таблицы в том же порядке переменных. Ну, это если самое очевидное кубиками.
ps. Ну либо переходи на списки, просто разберись, как "дробить" строку на переменные через разделитель ))
 

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
Берешь первую с удалением. Разложив по переменным. Потом добавляешь в конец таблицы в том же порядке переменных. Ну, это если самое очевидное кубиками.
ps. Ну либо переходи на списки, просто разберись, как "дробить" строку на переменные через разделитель ))
понял, чуть более замороченно, чем я думал. Но хорошо, хоть такое есть решение. Ок, возник отсюда тогда еще вопрос, простите за наглость... А как заставить шаблон остановиться, когда он подберется к строкам, которые уже проверялись?..
 

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
и глянул по действиям с таблицей, такого выбора как в списках "добавлять в конце" нету. это какой-то аргумент?
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 369
Благодарностей
959
Баллы
113
понял, чуть более замороченно, чем я думал. Но хорошо, хоть такое есть решение. Ок, возник отсюда тогда еще вопрос, простите за наглость... А как заставить шаблон остановиться, когда он подберется к строкам, которые уже проверялись?..
Тогда удаляй из первоначального файла. Если нужны "на будущее", перекладывай в другой. Тогда в какой-то момент первоначальный останется пустым и работать будет не с чем.
Добавить - "Добавить строку".
 

slash4ik

Client
Регистрация
05.03.2021
Сообщения
28
Благодарностей
0
Баллы
1
если взятие происходит с удалением через стандартный кубик работы, то там уже всё предусмотрено
привет, друзья. В общем я снова вернулся к этому вопросу и сделал как вы тут рекомендовали. Но как раз вот этот момент и попался, как я и думал. Потоки попадаются на одни и те же строчки почему-то. Может ли это быть какой-то баг?
 

gospodinkot

Client
Регистрация
04.03.2019
Сообщения
82
Благодарностей
22
Баллы
8
не знаю как с таблице, но со списком пересечений быть не должно. Лучше списки для таких задач использовать. Можно просто все данные хранить в текстовом файле, вместо таблицы, что не всегда удобно. Либо создавать временный список для отработки шаблона и с ним работать в много потоке без добавления строки в конце.
Просто список заканчивается и работа прекращается. - это кстати ответ на ваш вопрос как остановить шаблон)
 

K R

Client
Регистрация
14.01.2017
Сообщения
84
Благодарностей
77
Баллы
18
привет, друзья. В общем я снова вернулся к этому вопросу и сделал как вы тут рекомендовали. Но как раз вот этот момент и попался, как я и думал. Потоки попадаются на одни и те же строчки почему-то. Может ли это быть какой-то баг?
У вас в настройках таблицы стоят эти галки?
117725

Если нет, то поставьте. Вот здесь написано для чего это нужно.
В кубике получения строки нужно включить удаление строки после взятия (у вас вроде включено, просто уточняю на всякий случай).
В процессе работы из файла таблицы будут удаляться строки. Когда все строки будут взяты, файл таблицы будет удалён (если не поставить третью галку). Если таблица вам ещё понадобится - сделайте её копию перед началом работы.
 

Вложения

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