Ампула - это хороший строительный блок для многопроцессорного сервера с процессором. Он использует более простой протокол AMP, а не PB (сложность которого обычно не требуется просто для перемещения данных задания в другой процесс и последующего извлечения результатов). Он обрабатывает создание процессов, управление временем жизни, перезапуск и т. Д.
Обычно вы хотите избегать использования Popen
или multiprocessing
стандартного библиотечного модуля, если вы используете Twisted. Они могут сотрудничать, но оба они представляют API-интерфейсы, ориентированные на блокировку, которые в какой-то степени отрицают цель использования Twisted. API собственного дочернего процесса Twisted, reactor.spawnProcess
, также способен и предотвращает блокировку. Ампула основана на этом.
Ампула не так широко используется, как multiprocessing
. Возможно, вы обнаружите некоторые странности в вашей среде разработки или развертывания. Я не думаю, что это будут препятствия, которые вы не сможете преодолеть. Я разработал сервис, который использовал Ampoule для распределения работы по анализу большого количества HTML на несколько процессоров, и в конце концов он работал нормально. Если вы столкнетесь с какими-либо проблемами, я призываю вас сообщить о них выше по течению ! В конце концов, я бы хотел сказать, что Ампула так же крепка, как и все (или даже больше), вместо того, чтобы прикрепить заявление об отказе от ее использования. :)