2014-02-11 3 views
0

Мне нужно загрузить большое количество URL-адресов из нескольких доменов с помощью Celery. У меня есть задача, которая загружает один URL-адрес, делает некоторые вещи, а затем сохраняет некоторые данные в MongoDB.Уровень параллелизма за задание

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

Я рассмотрел несколько примеров блокировки, но все они, похоже, отменяют задачу, если она не может получить блокировку за определенное количество времени.

+0

у вас есть коды? – Raptor

ответ

1

Просто понял, что это легко может быть достигнуто с помощью цепей и аккордов, просто добавив задачи URL визита в N цепочки (где N является числом одновременного загрузчика на домен.)

Затем я могу добавить эти цепочки к одному аккорду для выполнения задачи анализа, когда все URL-адреса были загружены.

+0

Итак, я попытался реализовать это, но теперь я сталкиваюсь с тем, что существует ограниченное число задач, которые можно разместить в одной цепочке. – Blubber

Смежные вопросы