2
我目前正在嘗試使用RabbitMQ(具有出色的RabbitMQBundle)來處理大量的異步工作。RabbitMQ包:一個隊列和多個工作人員
的目標是有一個隊列發佈同一類型的消息,並有多個服務器X工人同時查看消息。
每個工人要偷看一個消息,你的工作,然後偷看另一個消息等。
這裏我的conf:
old_sound_rabbit_mq:
connections:
default:
host: 'localhost'
port: 5672
user: 'myuser'
password: 'mypassword'
vhost: '/'
lazy: false
producers:
generate_report:
connection: default
exchange_options: { name: 'gen_report', type: fanout }
consumers:
generate_report:
connection: default
exchange_options: { name: 'gen_report', type: fanout }
queue_options: { name: 'gen_report' }
callback: generator.report.consumer
在我消費,我有一個日誌文件和一個條目睡眠120秒。
我開始php應用程序/控制檯rabbitmq:consumer generate_report喜歡10次,但是當我看我的日誌文件我只有每個120的消息,目標是有10!
我也嘗試將我的隊列設置爲主題或直接使用相同的結果。
我不明白我做錯了什麼:「(提前
感謝
親切的問候
請您進一步解釋問題。我不明白你有什麼和你想要什麼? – 2014-11-03 12:23:20
我希望例如2名工作人員使用相同的隊列同時生成我的報告。 目前,當我開始2個工人只有一個(第一個)工作。第二個什麼都不做,除非當我關閉第一個 – 2014-11-03 13:10:32
啊哈,現在我明白了。工人似乎互相鎖定。你有什麼想法,他們可以競爭什麼樣的資源?輸出文件可能(也應該)在它們上面有文件鎖,數據庫表(用於MyISAM)和行(用於InnoDB)都有鎖。這是第一名工作人員阻止第二名工人做任何事情的東西 – 2014-11-03 14:24:30