Запуск максимально возможного количества экземпляров программы - PullRequest
0 голосов
/ 14 июня 2011

Я пытаюсь реализовать некоторый код для импорта данных пользователя из другого сервиса через API сервиса.Я собираюсь настроить его так, чтобы все задания запросов были сохранены в очереди, из которой будет извлекать моя простая программа импорта.Обработка одной задачи за раз не приблизится к максимальному использованию ресурсов компьютера, поэтому мне интересно, каков стандартный способ структурирования программы для одновременного выполнения нескольких «заданий»?Должен ли я искать многопоточность или, возможно, программу, которая извлекает задания из очереди и запускает экземпляры программы импорта?Спасибо за помощь.

РЕДАКТИРОВАТЬ : у меня сейчас есть Python, хотя я готов переписать его на другом языке, если это будет необходимо.

1 Ответ

1 голос
/ 14 июня 2011

Используйте очередь «Производитель-потребитель» с таким количеством потоков-потребителей, сколько вам нужно для оптимизации использования ресурсов на хосте (извините - это очень расплывчатый совет, но «правильный номер» зависит от проблемы),

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

Запуск нескольких процессов также может работать - лучший выбор зависит от ваших требований.Нужно ли, чтобы продюсер знал, сработала ли операция, или она «запущена и забыта»?Вам нужна логика повторения в случае сбоя?Как вы ведете подсчет одновременных потребителей в этой модели?И так далее.

Для Python, посмотрите на this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...