我想創建一個能夠OCR文本的進程的場。 我想過使用由多個OCR進程讀取的消息的單個隊列。連接到消息隊列的多個消費者和生產者,這在AMQP中可能嗎?
我想確保:
- 在隊列中的每個消息最終處理
- 工作或多或少均勻分佈
- 的圖像將僅由一個OCR處理被解析
- OCR進程不會一次獲得多個消息(這樣任何其他免費的OCR進程都可以處理該消息)。
使用AMQP可以嗎?
我打算使用python和rabbitmq
我想創建一個能夠OCR文本的進程的場。 我想過使用由多個OCR進程讀取的消息的單個隊列。連接到消息隊列的多個消費者和生產者,這在AMQP中可能嗎?
我想確保:
使用AMQP可以嗎?
我打算使用python和rabbitmq
是的,這是可能的。我正在開發的實時MMO遊戲的服務器集羣以這種方式運行。我們使用ActiveMQ,但我認爲RabbitMQ也可以實現這一切。
您提到的所有項目都是開箱即用的,除了最後一項。
做最後一次工作所需的方式,消費者發送特定AMQ參數的訂閱隊列時:
activemq.prefetchSize: 1
此設置保證消費者不會拿在接收到一條消息之後再發送一條消息,直到它將ack
發送給AMQ。我相信RabbitMQ中存在類似的東西。
是的,正如@nailxx指出的那樣。 AMQP編程模型與JMS略有不同,因爲您只有隊列,這些隊列可以在工作人員之間共享,或者由單個工作人員私下使用。您還可以輕鬆設置RabbitMQ來做PubSub用例或JMS中的什麼被稱爲主題。請轉到RabbitMQ web site上的我們的Getting Started頁面,查找大量有用的信息。
現在,對於您的使用情況,已經有很多可用的工具。人們用得很多,而且得到很好的支持的是Celery。這裏有一個關於它的blog post,我認爲這將幫助你開始:
如果您有任何問題,請給我們發電子郵件或張貼到rabbitmq-discuss郵件列表。
+1芹菜看起來很可愛。我會在最近的機會檢查出來。 – 2010-02-17 13:33:36