Обращение к VK Api используя параллельные потоки

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Я в раздумьях несколько дней. Есть скрипт. Суть оптимизировать по скорости выполнения алгоритм. Задача такая:
1. Получить токен вк
2. Взять из списка id
3. Узнать содержится ли в ответе определенные значение
4. В случае успеха записать id : кол-во совпадений : кол-во строк в ответе

Как можно решать задачу:
1. Выполнять через execute с передачей кода по сети
2. Выполнять через Api.метод используя параллельные потоки

В текущем виде реализовал через экшны через get запрос. Вполне работает и в 400-800 потоков при запуске через ZP, но хотелось бы быстрее и больше запросов.

Подскажите какие рациональные пути решения. Как можно реализовать через параллельные потоки?
1. Берем из списка N строк (где N = кол-во потоков)
2. Берем N токенов
3. Создаем N списков (?)
4. Пишем ответы в созданные списки
5. Ищем регуляркой по всем спискам и значения кладем в них же
6. Считаем строки и кладем в переменную
7. Удаляем строки не соответствующие регулярке во всех списках
8. Считаем их количество и значение кладем в переменную
9. В случае кол-ва строк > 0, кладем ответы в единый список в виде id : кол-во совпадений : кол-во строк

Правильный ли ход мысли? Возможно ли это сделать на C# и будет ли это быстрее, чем запуск проекта с экшнами в 1000 потоков без браузера?
Спасибо!
 
Последнее редактирование:

rudnick

Client
Регистрация
27.04.2015
Сообщения
44
Благодарностей
6
Баллы
8
Это что же же у вас за машина которая держит 1000 потоков?
 

bpunk

Client
Регистрация
23.08.2015
Сообщения
181
Благодарностей
31
Баллы
28
Это что же же у вас за машина которая держит 1000 потоков?
Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz
32GB RAM
и 2000 будет держать, здесь же работа без браузера.
С браузером в 150 пробовал - запускалось.

Начали делать тоже самое на Ruby - 2000 потоков держит на VPS 2Ghz 1Gb Ram
 

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