0
Завершен

количество пользователей для задачи

jackanapes 8 лет назад обновлен SocialKit (Руководитель ТП) 8 лет назад 6

заметил неудобную особенность программы - ставлю задачу лайкать(на подписки тоже актуально), кол-во пользователей 3000, приличный игнор лист, в итоге программа около 2500 пользователей пропускает, и лайкает только оставшиеся 500. аккаунтов 12, задачу хочется указывать сразу для всех. выходит что пара аккаунтов пролайкает 500 человек, в то время как остальные 3000, выход один - указать большее кол-во пользователей, но в таком случае на остальных аккаунтах лайков будет выполнено слишком много и, естественно, блокировка не за горами)


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

так же интересует момент - приватных пользователей программа тоже проходит и считает как оработанных? то есть если указать задачу - 2000 лайков, а 1999 из них будут приватные то программа поставил 1 лайк?

Завершен

Здравствуйте! В массовых действиях это невозможно сделать малой кровью и Вы поймете почему, если подумаете над этим. При массовой даче задания список разбивается на части, указанные пользователем. При этом части берутся последовательно друг за дружкой - так задача была поставлена и реализована. Если часть аккаунтов из отведенного куска была пропущена и нужно следовать далее, то мы наткнемся на те аккаунты, которые используют в лайках или подписках другие целевые профили, а этого по постановке задачи делать нельзя. Казалось бы, значит нужно обойти все уже используемые куски и продолжить там, где они окончились, если это позволяет сделать общий список. Но это невозможно сделать, т.к. потребность в этом может возникать попеременно у каждого потока, который работает с этим списком. При этом все потоки работают одновременно, т.к. программа мультизадачная. Таким образом, на каком-то этапе в предлагаемой Вами реализации получится просто хаотичное движение по списку от имени разных потоков, а это недопустимо по постановке задачи. Еще и сильно усложнит логику работы программы.


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

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


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

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


Перерыв делается поcле факта установки указанного количества лайков, комментов, подписок или отписок.

посмотрел - всё таки программа пропуск приватных пользователей тоже расценивает как совершенное действие и записывает в счётчик. то есть например если задача будет 2000 пользователей а 1999 из которых приватные, будет только 1 лайк - мне кается логично было бы сделать возможность этого избежать)

+1

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


Если речь о массовости, то пропуски невозможно сделать корректно по описанным выше причинам. Никакие очереди тут не могут быть использованы иначе 7-ро (образно, потоков) будут ждать 1-го, а это никому не нужно. При работе с массой мы рекомендуем Вам готовить такие списки, которые будут расписаны на все аккаунты. Например, если у Вас 12 аккаунтов и вы хотите сделать полный цикл подписки по ним, то нужен список в 90к аккаунтов. Понятно, что какие-то из них могут быть в игнор-листе, но, тем не менее, после полного цикла Вам этот список уже не будет нужен. Соответственно, и проблема массового пропуска не будет стоять.


Также есть дельное предложение по глобальному игнор-листу, после реализации которого можно будет вычесть игнор-лист из подготовленной массы аккаунтов к подписке или лайкингу. Ну а очистить выборку от приватных можно на этапе фильтрации или на этапах сбора. Например, при сборе по конкурентам.

Сервис поддержки клиентов работает на платформе UserEcho