Я хотел бы одновременно запускать несколько экземпляров program.py, одновременно ограничивая количество экземпляров, запущенных одновременно (например, количество ядер ЦП, доступных в моей системе). Например, если у меня есть 10 ядер и вам нужно выполнить 1000 запусков program.py, всего будет создано и запущено всего 10 экземпляров в любой момент времени.
Я пробовал использовать модуль многопроцессорности, многопоточность и использование очередей, но мне не показалось, что мне легко поддаться легкой реализации. Самая большая проблема, с которой я сталкиваюсь, - найти способ ограничить количество запущенных процессов одновременно. Это важно, потому что, если я создам 1000 процессов одновременно, это становится эквивалентным вилкой. Мне не нужны результаты, возвращенные из процессов программным способом (они выводятся на диск), и все процессы выполняются независимо друг от друга.
Может кто-нибудь, пожалуйста, дайте мне предложения или пример того, как я мог реализовать это в python или даже bash? Я бы опубликовал код, который я написал до сих пор, используя очереди, но он не работает так, как предполагалось, и может быть уже неверным путем.
Большое спасибо.