Какая очередь наиболее подходит? - PullRequest
2 голосов
/ 20 сентября 2009

Я создаю мобильный сайт для обмена фотографиями на Python, похожий на TwitPic, и изучаю различные очереди для обработки изображений. Я изучил RabbitMQ и ActiveMQ, но думаю, что есть лучшее решение для моего варианта использования. Я ищу что-то более легкое. Я открыт для любых предложений.

Ответы [ 3 ]

2 голосов
/ 20 сентября 2009

Вы можете написать демон, который использует встроенную в Python многопроцессорную библиотеку и ее очередь .

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

1 голос
/ 20 сентября 2009

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

Я успешно использовал beanstalkd в нескольких приложениях большого объема.

Последний лучше подходит для асинхронных заданий, а первый дает вам больше гибкости, когда вы хотите заблокировать выполнение задания.

0 голосов
/ 20 сентября 2009

Рассматриваете ли вы архитектуру одного компьютера или кластер машин? Пересылка образа в доступный рабочий процесс на том же компьютере или на другом компьютере не сильно отличается, особенно если вы используете TCP-сокеты. Зная, какие работники доступны, порождая больше, если необходимо, и ресурсы, имея отказоустойчивый механизм в случае сбоя работника и т. Д., Постепенно усложняют проблему.

Это может быть что-то столь же простое, как использование httplib для передачи изображения на частный сервер с Apache или Twisted и набор приложений cgi. Когда вы добавляете другой сервер, округлите запрос среди них.

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