Tut der: async-Warteschlangenadapter tatsächlich etwas?Rails Async Active Job führt keinen Code aus, während inline
: Inline, das ist der Standard in Rails 4, verarbeitet Jobs, die mit ActiveJob, äh ... inline, im aktuellen Ausführungsthread erstellt werden. Asynchron, sollte nicht. Es sollte den ConnectionPool verwenden, um es nicht im aktuellen Thread auszuführen, und das ist im Idealfall, was passieren würde. Es würde Ausführung außerhalb des aktuellen Ausführungsthreads ausführen.
Aber nichts führt es aus.
Ich habe die Dokumente durchforstet, und das einzige, was ich ergründen kann, ist: async, im Gegensatz zu: inline, führt keine Aufgaben aus und erwartet von Ihnen, dass Sie ein System um die Ausführung lokal erstellen. Ich muss perform
für alle Jobs manuell ausführen, um sie lokal ausführen zu lassen. Wenn ich den Adapter auf: Inline setze, funktioniert es gut, ohne dass ich es ausführen muss.
Gibt es ein Konfigurationsproblem, das mir fehlt, das verhindert, dass Async korrekt funktioniert (wie ActionCable?).
Funktioniert es nicht, wenn es von einer Rake-Task (oder der Konsole?) Ausgeführt wird.
Es funktioniert gut mit: sidekiq /: resque, aber ich möchte nicht diese lokal die ganze Zeit laufen.
Rails by default comes with an "immediate runner" queuing implementation. That means that each job that has been enqueued will run immediately.
Dies ist eine Art, was mich dort Cueing ist in etwas falsch zu sein. Ich habe Jobs, die irgendwo in einer Schlange sitzen, die einfach nicht laufen. Was könnte das aufhalten?
@januszm froh, ich könnte Ihnen ein wenig Hilfe bekommen. – tadiou