2 Stimmen

Wie startet man mehrere Worker-Prozesse in der Eventmachine?

Ich verwende Rails 3, Eventmachine und Rabbitmq.

Wenn ich Nachrichten in einer Warteschlange veröffentliche, muss ich mehrere Arbeitsprozesse starten.

Ich verstehe, dass eventmachine die Lösung für mein Szenario ist.

Einige Aufgaben werden länger dauern als andere.

Bei der Verwendung von eventmachine sieht es in den meisten Codebeispielen so aus, als ob nur ein einziger Thread/Prozess zu einem bestimmten Zeitpunkt ausgeführt wird.

Wie kann ich 2-4 Arbeitsprozesse auf einmal starten?

4voto

ALoR Punkte 4784

Wenn Sie die EM.aufschieben Methode wird jeder Proc, den Sie ihr übergeben, in den Threadpool aufgenommen (Standardwert: 20 Threads). Sie können so viele Worker haben, wie Sie wollen, wenn Sie die EM.threadpool_size ändern.

worker = Proc.new do
# log running job
end

EM.defer(worker)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X