Warum erhalte ich zu tief Stack-Ebene, während ein Job Auslösung mit resque-Status?
-
29-09-2019 - |
Frage
Hier ist der Stack-Trace, die auf resque-Web-Oberfläche erscheint: http://gist.github.com/ 396.893
Dort können Sie einige Edelstein-Versionen überprüfen, dass ich mit.
Jetzt habe ich einige Upgrades gemacht versuchen, das Problem zu lösen, hier sind die aktuellen Versionen gem:
Redis (2.0.3)
redis-Namensraum (0.5.0)
redisk (0.2.1)
resque (1.9.5)
resque-Scheduler (1.9.2)
resque-Status (0.1.4)
Ich habe schrieb auch einen sehr einfachen Arbeiter keine Programmierfehler meinerseits zu verwerfen, sondern auch ohne Erfolg. Der Test Arbeiter-Code ist (obwohl der Fehler mit einem beliebigen Code tritt mit resque-Status habe ich versucht):
class SimpleStatusWorker < Resque::JobWithStatus
def perform
60.times do |i|
sleep 1
at(i,60,"At #{num} of #{total}")
end
end
end
(Die entsprechenden Initialisierer in Schienen-Umgebung Initialisierung geladen wird).
Lösung
Nein, es geht nicht um IIS. Es geht um Vlad. Vlad definiert eine Methode "get" von eval auf rake_remote_task.rb (line ~ 12). Dadurch entsteht ein „get“ -Methode im Kontext von Object. Da die Redis „get“ Methode nicht definiert ist (es durch method_missing genannt wird) es Vlad Verfahren läuft. Aussehen:
eval "def bekommen \ n puts 'yo' \ n end"
class Foo; Ende
Foo.new.get
=> yo
Schräge nicht?
Andere Tipps
Vielleicht etwas mit dem IIS Config?