Wie kann ich erkennen, ob ein bestimmter request
noch aktiv ist?Schienen, wie man weiß, ob eine bestimmte Anfrage noch läuft
Zum Beispiel habe ich diese Anfrage uuid:
# my_controller.rb
def my_action
request.uuid # -> ABC1233
end
Aus einer anderen Anfrage, wie kann ich wissen, ob die Anfrage mit UUID ABC1233
noch funktioniert?
Für die Neugierigen:
beanstalk directives Nach ich Cronjobs leite URL-Anforderungen verwendet wird.
Ich möchte nicht die nächste Iteration starten, wenn die vorherige noch läuft. Ich kann nicht einfach in einem ini/end
Flag, das durch die Anfrage aktualisiert wird, weiterleiten, weil die Anfrage einige Male stirbt, bevor sie beendet wird.
Mit normalen Cron-Aufgaben habe ich dies ordnungsgemäß mit der PID des Prozesses verwalten. Aber ich glaube nicht, dass ich PID mehr verwenden kann, weil Prozesse in einem Webserver zwischen verschiedenen Anfragen wiederverwendet werden können.
Ich implementiere so etwas, aber es ist nicht vertrauenswürdig, weil die Anfrage kann sterben oder kann getötet werden (in einer System-Ebene) und die "Unset" -Signal wird nie gesendet. Dies liegt daran, dass ich eine externe Methode brauche, um zu wissen, ob eine Anfrage noch am Leben ist. – fguillen
Ich bin so verloren wie du dann. Natürlich können Sie Zeitstempel auch bei Redis speichern und periodisch "alte" löschen, aber das wissen Sie wahrscheinlich schon. Lassen Sie mich wissen, wenn Sie mehr finden, es ist ein interessantes Problem! –
Überprüfen Sie meine Antwort: http://StackOverflow.com/a/42227927/316700 – fguillen