Я написал сценарий, который использует два пула потоков по десять потоков в каждом для извлечения данных из API. Пул потоков реализует этот код в ActiveState. Каждый пул потоков отслеживает базу данных Redis через PubSub для новых записей. Когда новая запись публикуется, python передает данные функции, которая использует подпроцесс python. POpen для выполнения PHP-оболочки, выполняющей реальную работу по вызову API.
Эта система запуска оболочек PHP необходима для работы с моим веб-приложением PHP, поэтому нельзя избежать запуска оболочек PHP с помощью Python.
Этот скрипт будет работать только на серверах Linux.
Как контролировать приоритетность (приоритет планирования) потоков приложения? дел>
Изменить:
Кажется, что контроль приоритета планирования для отдельных потоков в Python невозможен. Есть ли решение для Python или, по крайней мере, команда UNIX, которую я могу запустить вместе со своим скриптом, чтобы контролировать приоритет?
Редактировать 2:
Ну, я так и не нашел способ python справиться с этим. Я просто запускаю свой скрипт с помощью nice сейчас, например:
nice -n 19 python MyScript.py