Ich versuche, eine RoR app zu implementieren, die eine asynchrone Aufgabe tut. Ich benutze workling für das und die Nachrichtenwarteschlange ist RabbitMQ. Diese Kombination funktionierte einwandfrei mit Starling, aber wir beschlossen, die MQ für Kaninchen zu ändern. Ich habe irgendwo gelesen, dass ich den folgenden Code in meinem environment.rbPhusion Passagier + Workling + RabbitMQ
require 'mq'
if defined?(PhusionPassenger)
PhusionPassenger.on_event(:starting_worker_process) do |forked|
if forked
if EM.reactor_running?
EM.stop_event_loop
EM.release_machine
EM.instance_variable_set('@reactor_running', false)
end
Thread.current[:mq] = nil
AMQP.instance_variable_set('@conn', nil)
end
th = Thread.current
Thread.new{
AMQP.connect(:host => 'localhost'){
th.wakeup
}
}
Thread.stop
end
end
Aber das jetzt Apache nicht vollständig mit der Meldung enthalten soll: Der Server hat einen internen Fehler oder eine falsche Konfiguration festgestellt und konnte Ihre Anfrage abzuschließen