Как сделать многопоточный шаблон?

Kazza

Client
Регистрация
17.09.2015
Сообщения
78
Благодарностей
5
Баллы
8
Приветствую коллеги. Накидал для себя однопоточный шаблон, хочу сделать многопоточный с использованием прокси. Но не хватает знаний.
Я добавил в самое начало проекта - Проксичекер - (получить прокси) и Браузер настройки (Установить прокси). И при запуске шаблона в Зеннопостере я выставляю настройки использовать прокси и по правилу.

Но шаблон просто висит и ничего не происходит.

Что я делаю не так?
 

искра

Client
Регистрация
07.06.2014
Сообщения
281
Благодарностей
23
Баллы
18
Приветствую коллеги. Накидал для себя однопоточный шаблон, хочу сделать многопоточный с использованием прокси. Но не хватает знаний.
Я добавил в самое начало проекта - Проксичекер - (получить прокси) и Браузер настройки (Установить прокси). И при запуске шаблона в Зеннопостере я выставляю настройки использовать прокси и по правилу.

Но шаблон просто висит и ничего не происходит.

Что я делаю не так?
в зеннопостере просто запускаешь столько потоков, сколько тебе нужно
 
  • Спасибо
Реакции: LightWood и Kazza

Kazza

Client
Регистрация
17.09.2015
Сообщения
78
Благодарностей
5
Баллы
8

искра

Client
Регистрация
07.06.2014
Сообщения
281
Благодарностей
23
Баллы
18
  • Спасибо
Реакции: Kazza

Kazza

Client
Регистрация
17.09.2015
Сообщения
78
Благодарностей
5
Баллы
8
нет, количество потоков прибавляется в зеннопостере
я про прокси спрашиваю)
Нужно ставить либо в шаблоне проксичекер , либо в зеннопостере нажимать использовать прокси? Или и там и там?
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
618
Благодарностей
339
Баллы
63
Еще надо смотреть не будут ли потоки конфликтовать между собой, т.е. чтобы все потоки не клали в один файл, то что предназначенно для одного потока.
 
  • Спасибо
Реакции: Kazza
Регистрация
26.05.2020
Сообщения
495
Благодарностей
172
Баллы
43
Перелопатил всю документацию, но так и не нашел ответа на вопрос "Как сделать многопоточный шаблон в зенке?"...
Занекропощу тут, коль уж нагуглил именно эту тему - может кто даст простенький пример шаблона или инструкцию с особенностями создания многопоточного шаблона?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Перелопатил всю документацию, но так и не нашел ответа на вопрос "Как сделать многопоточный шаблон в зенке?"...
Занекропощу тут, коль уж нагуглил именно эту тему - может кто даст простенький пример шаблона или инструкцию с особенностями создания многопоточного шаблона?
разве для этого надо что то особенное делать ? Устанавливаешь максимум потоков сколько надо и добавляешь кучу попыток и зенка сама запускает несколько потоков шаблона.
странный вопрос....
 

todayer

Client
Регистрация
07.08.2013
Сообщения
959
Благодарностей
397
Баллы
63
разве для этого надо что то особенное делать ? Устанавливаешь максимум потоков сколько надо и добавляешь кучу попыток и зенка сама запускает несколько потоков шаблона.
странный вопрос....
А если там работа с файлом, берется прокси из списка, удаляется эта строка, добавляется вниз списка, пересохраняется в файл. Как быть?
 

Norim

Client
Регистрация
17.10.2017
Сообщения
322
Благодарностей
82
Баллы
28
А если там работа с файлом, берется прокси из списка, удаляется эта строка, добавляется вниз списка, пересохраняется в файл. Как быть?
Использовать лок'и. Если работаешь с файлами, то в зенке нужно привязывать списки к файлам, это = локам c#. Указываешь путь например к прокси файлу, создаешь список, привязываешь фаил к списку, берешь первую строку с удалением, потом добавляешь ее в конец файла.
 
  • Спасибо
Реакции: todayer
Регистрация
26.05.2020
Сообщения
495
Благодарностей
172
Баллы
43
разве для этого надо что то особенное делать ? Устанавливаешь максимум потоков сколько надо и добавляешь кучу попыток и зенка сама запускает несколько потоков шаблона.
странный вопрос....
когда я так делаю, у меня шаблон продолжает работать в один поток )))

Расскажу вкратце принцип работы.
Есть 3 профиля зенки, есть штук 20 сайтов, по которым гуляют эти профили, каждый по своему логин/паролю, результаты путешествий записывают в одну общую таблицу и каждый в свою.

Из входящих данных дано:
  1. Таблица со списком юзеров с их некоторыми данными
  2. Таблица со списком сайтов, по которым гуляют профили (по сути только чтение параметров для внесения в переменные), в которой внесены xpatch и прочие уникальные для сайтов данные.
  3. Таблицы профилей с данными (логин-пароль) каждого профиля для каждого из сайтов и одной перезаписываемой при работе шаблона ячейкой супротив сайта.
  4. Общий файл (также таблица эксель) для записи результатов путешествий по принципу - каждый профиль прошел один из сайтов и добавил свою строку в эту таблицу.

Логика работы шаблона сейчас такая (вкратце):
  1. Подгружаем файлы со списком пользователей
  2. Берем первую строку (с удалением из таблицы, но без сохранения самого файла)
  3. Загружаем одноименный с пользователем профиль
  4. Берем файл со списком сайтов, берем из него первую строку (получаем переменные)
  5. Обходим сайт из п.4, получаем необходимые данные
  6. Записываем результат обхода в таблицу 3 из Входящих данных
  7. Записываем результат в общую таблицу 4
  8. Сохраняем профиль и возвращаемся в п.4, пока не закончатся строки.
  9. По окончании обходимых сайтов профилем переходим на шаг 4 и по кругу.
Многопоточной хотел бы сделать одновременную работу каждого профиля...
 

todayer

Client
Регистрация
07.08.2013
Сообщения
959
Благодарностей
397
Баллы
63
Использовать лок'и. Если работаешь с файлами, то в зенке нужно привязывать списки к файлам, это = локам c#. Указываешь путь например к прокси файлу, создаешь список, привязываешь фаил к списку, берешь первую строку с удалением, потом добавляешь ее в конец файла.
Спасибо, но не пойму как поступит второй и следующие потоки. Список то один. Файл тоже один. Если одновременно 10 потоков будут к этому списку обращаться, что произойдет.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Спасибо, но не пойму как поступит второй и следующие потоки. Список то один. Файл тоже один. Если одновременно 10 потоков будут к этому списку обращаться, что произойдет.
ищи на форуме статьи с описанием лока.
Вкратце, с залоченным ресурсом могут работать одновременно только 1 шаблон. все остальные встают в очередь. поэтому если 10 потоков одновременно обратятся к залоченному списку, то они все операции сделают по очереди. если не лочить, то будет швах.
 
  • Спасибо
Реакции: todayer и djaga

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
Спасибо, но не пойму как поступит второй и следующие потоки. Список то один. Файл тоже один. Если одновременно 10 потоков будут к этому списку обращаться, что произойдет.
Остальные потоки должны значит ждать, пока лок не снимешь.) Операция же быстрая.

Upd. Phoenix78, Опередил с ответом.)
 
  • Спасибо
Реакции: todayer
Регистрация
26.05.2020
Сообщения
495
Благодарностей
172
Баллы
43
у тебя зенка про
ага, прошка...
с залоченным ресурсом могут работать одновременно только 1 шаблон. все остальные встают в очередь. поэтому если 10 потоков одновременно обратятся к залоченному списку, то они все операции сделают по очереди. если не лочить, то будет швах.
в моем случае получается один файл есть, в который пишут все профили по несколько записей в цикле
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
ну значит явно что то не так делаешь.
Сделай тестовый пустой шаблон, который будет считывать список и выводить в лог. и научись запускать его в 10-100 потоков. Эта возможность зенки расказывается на первых уроках в ютубе.
Изучи работу со списками в многопотоке, локи в многопотоке. да на ютубе все есть.
 
  • Спасибо
Реакции: Андрейка2020

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