Ich habe derzeit eine Pylons-Anwendung ausgeführt mit einer grundlegenden Benutzer-System-Setup. Ich möchte versuchen, ein Widget zu erstellen, das die Benutzer anzeigt, die derzeit auf der Website angemeldet sind. Ich bin mir nicht sicher, wie ich damit umgehen sollte; Ich bin mir nicht sicher, ob Pylons-Sessions aktiv sind, hängt davon ab, ob ein Benutzer tatsächlich auf der Web-Appsseite ist oder nicht, also suche ich nach Ideen, wie ich mit dem arbeiten kann, was ich möglicherweise bereits getan habe.Wer ist online in Pylons
Antwort
Es gibt mehrere Möglichkeiten, wie Sie es tun können, je nachdem, wie genau Sie sein möchten.
Die einfachste und erste Möglichkeit, memecached oder einen persistenten Speicher zu verwenden, um Benutzer und das letzte Mal, wenn sie eine Seite treffen, zu verfolgen. Stellen Sie sich vor, dass jemand, der eine Seite innerhalb von X Minuten erreicht hat, "eingeloggt" ist, solange er nicht "ausgeloggt" ist. Wenn Sie die Datenbank nur bei jedem Seitenaufruf aktualisieren oder memcached (oder eine schnellere Datenbank) aktualisieren, müssen Sie sie innerhalb der letzten Minute nach Sitzungen abfragen.
Zweitens, aber intensiver auf Ihrem Server, setzen Sie Javascript auf jeder Seite, die alle XX Sekunden/Minuten eine spezielle URL auf Ihrer Website trifft, um anzuzeigen, dass der Benutzer angemeldet ist. Notieren Sie das und verwenden Sie diese Anzahl. Dies hat den Vorteil, dass Ihr JS den Counter auf der Seite in Echtzeit aktuell halten kann. Obwohl das Abrufen auf Ihrem Server teuer sein könnte. Verwenden Sie ein Comet-Stilsystem, sagen wir mit Orbited, und solange der Benutzer sich auf einer Seite befindet, die mit dem Server verbunden ist, ist die Verbindung offen und Sie können verfolgen, wie viele offene Sitzungen Sie haben. Orbited kann ungefähr 10k offene Verbindungen auf einmal pro Server handhaben, glaube ich.
Ich würde den ersten Typ empfehlen, da es den wenigsten zusätzlichen Overhead/Setup erfordert und den ziemlich häufigen Fall behandelt. Wenn Sie einen Echtzeit-Chat verwenden, bei dem Sie mehr Genauigkeit benötigen, sollten Sie einen der anderen beiden berücksichtigen.
- 1. asp.net mvc Wer ist online
- 2. Benutzer-Web-Chat, bestimmen, wer online ist und gezielte Sitzungen?
- 3. Wer weiß von einer kostenlosen Online-Datenbank?
- 4. Wie kann man einfach "wer ist online" in Grails oder Java-Anwendung implementieren?
- 5. Wer ist "uns" und wer ist "sie" laut Git?
- 6. Wer ist dein Model?
- 7. Benutzer-Authentifizierung in Pylons + AuthKit
- 8. Werte von Json in Pylons
- 9. Erste Schritte mit Pylons
- 10. Wer oder was ist '_mbsetupuser'?
- 11. Git Rebasekonflikt: Wer ist HEAD?
- 12. MVVM - Wer ist verantwortlich für
- 13. Wer ist auf Socket in C verbunden
- 14. In Rails Armaturen, wer ist Quentin?
- 15. Wer ist "selbst" in einem Ruby-Klassenblock?
- 16. Wie bewerten "Wer ist zuerst?" als gleich "wer zuerst ist". in JavaScript?
- 17. Wer ist der Server und wer ist der Client in UDP?
- 18. Kann nicht Pylons mit mongokit
- 19. Middleware für Django und Pylons
- 20. Wer
- 21. Anfänger Pylons/Mako Templating Fragen
- 22. Bereitstellen von Pylons mit uWSGI
- 23. Verspotten des URL-Objekts in Pylons
- 24. Wo ist eine gute Dokumentationsquelle für das Pylons-Web-Framework?
- 25. Meine formencode.variabledecode ist eine leere Liste zurückkehrt - Pylons
- 26. Was ist der beste Weg, um eine Pylons-App bereitzustellen?
- 27. Wer ist für die Bereitstellung verantwortlich?
- 28. Kann Terracotta Peers vermitteln, wer Meister ist?
- 29. Wer weiß, mit was Picasa programmiert ist?
- 30. Wer ist schneller: BOOST_FOREACH Makros oder für
Wie wäre es, Beaker's Store selbst zu lesen? – Joril