Die Rails-App protokolliert doppelte Anfragen

8

Ich habe eine Rails-App, die für jede Anforderung in der Entwicklung doppelte Anforderungen generiert. Die App läuft Rails 2.3.5 mit meiner primären Entwicklungsmaschine, auf der Ubuntu 10.4 läuft. Derselbe Code funktioniert jedoch einwandfrei, ohne doppelte Anforderungen in meiner OS X 10.6-Box anzuzeigen. Es läuft auch im Produktionsmodus auf beiden Rechnern ohne Probleme.

%Vor%

Beachten Sie, dass die Anforderungen genau gleich sind, sogar bis zu den Zeitstempeln.

Ich habe versucht, Ruby 1.8.7 & amp; 1.9.1 sowie Austausch zwischen Mongrel & amp; Webrick und es verarbeitet immer jede Anfrage zweimal (oder erzeugt mindestens zwei Log-Einträge). Ich habe versucht, die meisten Routen zu entfernen, um zu sehen, ob etwas Seltsames passiert ist, aber das Problem bleibt bestehen. Ich habe verschiedene Browser (Chrome, Safari, eLinks) von verschiedenen Rechnern aus getestet, um zu sehen, ob das helfen würde, aber das Problem bleibt bestehen. Ich habe alle meine Edelsteine ​​entfernt und nur die notwendigen ersetzt, aber ohne Erfolg.

Hat jemand eine Idee, warum Rails doppelte Anfragen wie diese verursachen würde? Ich bin am Ende meiner Weisheit und fasse nach Strohhalmen. Der einzige helle Funke ist, dass dieses Verhalten nicht in der Produktionsumgebung auftritt, sondern nur in der Entwicklung.

    
Richard Hurt 16.07.2010, 14:42
quelle

8 Antworten

1

Die "Antwort" auf das Problem war, in ein neues Verzeichnis zu gehen und den ursprünglichen Code von Github zu holen. Nachdem alles konfiguriert und in dem neuen Verzeichnis eingerichtet wurde, funktioniert die Anwendung so, wie es sollte, ohne doppelte Anfragen. Ich weiß immer noch nicht, warum der Code im ursprünglichen Verzeichnis ausgebrochen ist. Ich habe sogar die Verzeichnisse differiert und die einzigen Ausnahmen waren die Log-Dateien.

Ich beantworte hier meine eigene Frage nach der Gesundheit anderer, die das gleiche Problem haben könnten.

    
Richard Hurt 16.07.2010, 16:00
quelle
5

Überprüfen Sie Ihren Code, um zu sehen, ob etwas darin ist:

Ich habe das gleiche Problem gerade jetzt vor einem Tag

%Vor%

Dies führt dazu, dass Schienen doppelte Anforderungen stellen!

    
www 31.05.2011 08:57
quelle
5

Wenn Leute auf diese Frage von Google kommen, ist es wichtig, dass sie ihr Problem zwischen doppelten Logs, die wie folgt aussehen, disambiguieren:

%Vor%

Aus doppelten Protokollen, die wie folgt aussehen:

%Vor%

Ersteres ist wahrscheinlich von doppeltem LOGGING. Das spätere ist wahrscheinlich von doppelten ANTRÄGEN. Wenn es Letzteres ist, wie es durch den Frage-Asker (OP) gezeigt wird, sollten Sie die @ www-Antwort des Suchens nach einem <img src="#"> oder einem ähnlichen selbstreferentiellen URL-Tag stark berücksichtigen. Ich verbrachte Stunden damit, herauszufinden, warum meine Anwendung zwei Duplikate zu erhalten schien, und nachdem ich @ wwws Antwort gelesen hatte (oder @ aelor auf Doppel-Konsole Ausgabe? ), fand ich

%Vor%

in meinem Code! Es hat dazu geführt, dass jede Seite meiner Produktions-App doppelt gerendert wurde !!!! So schlecht für die Leistung und so nervig!

    
Sean Ahrens 03.02.2015 12:34
quelle
3

Das passierte mir in Rails 4.2.3 nach der Installation des Gem von Heroku rails_12factor , das von rails_stdout_logging

abhängig ist     
Jose 17.10.2015 03:47
quelle
2

Ich habe dieses Problem gelöst, indem ich die folgende Zeile in app / config / environments / development.rb kommentiert habe:

%Vor%

Ich erinnere mich nicht genau an den Grund, diese Einstellung zu verwenden

    
Thiago Silva 05.08.2012 03:28
quelle
2

Ich löse dieses Problem hier, indem ich alle vorkompilierten Assets säubere mit: rake assets:clean

Ich habe versucht, den App-Ordner zu löschen und ihn dann von GitHub zurück zu kaufen, aber er hat nicht funktioniert.

hoffe diese Hilfe. Danke.

    
Rudiney Franceschi 01.03.2013 00:18
quelle
1

Das fing bei mir bei der Entwicklung an, nachdem ich mit einer benutzerdefinierten Middleware herumgespielt habe, die ich geschrieben habe. Laufende Rake-Assets: sauber: alles gelöst.

    
Ady Rosen 25.10.2013 21:14
quelle
0

Diese kleine Problemumgehung hat mein Problem gelöst. Befolgen Sie diese Schritte:

Unter Rails External Libraries, Suche nach Railties-Modul. Gehe zu diesem Pfad: /lib/commands/server.rb

In dieser Datei kommentiere diese Zeile,  Rails.logger.extend (ActiveSupport :: Logger.broadcast (Konsole))

Dieser Befehl schaltet die Übertragung aus und startet den Rails-Server neu. Sie werden keine wiederholten Protokolle mehr sehen. Happy Coding.

    
mdev 19.09.2014 15:56
quelle

Tags und Links