phpbar.de logo

Mailinglisten-Archive

[php] RE: [php] RE: [php] Session =?iso-8859-1?Q?=FCbernehmen?= -> =?iso-8859-1?Q?Gek=FCrzt?= auf besonderen Wunsch von Manuel ;-)

[php] RE: [php] RE: [php] Session übernehmen -> Gekürzt auf besonderen Wunsch von Manuel ;-)

André Temme php_(at)_phpcenter.de
Tue, 22 May 2001 22:38:08 +0200


Christian Marschalek schrieb:
> 
> > O.K., nach einem Abbruch geht. Der Timeout ist aber bei
> > vernünftigen Zeiten
> > - ~ 10 min., was natürlich von der Fragestellung abhängen
> > kann - aber nicht mehr vom ursprünglichen Skript
> > festzustellen, sonst müßte das ja solange in einer Schleife
> > laufen, das wäre wohl nicht sonderlich performant.
> Wieso? Also ich habs so kapiert: Das script wird ausgeführt: kommt ein
> cancel vom user wird’s default mässig beendet, läuft jetzt weiter und am

äh, was? Wird's jetzt beendet oder läuft's weiter?

> Ende wird gecheckt ob gecancelt wurde -> session destroy...
> Stürzt der Client einfach ab, wartet das script (weiß ja nicht was
> passiert ist.. Obs nur lagt oder der client wikrlich "weg" ist) und wenn
> eine bestimmte Zeitspanne vorbei ist, timed das script out und wird
> default auch beendet... Nun läuft es aber auch hier weiter und delted
> die session am Ende (natürlich nachdem abgefragt wurde obs einen timeout
> gegeben hat)

Puh, du solltest wirklich versuchen, dich einer eindeutigeren Sprache zu
bedienen, bin wirklich nicht sicher, daß ich verstehe was du meinst. Ich
glaube aber, so wie du dir das vorgestellt hast, geht das nicht. Z.B.
ist ein Abbruch nur festzustellen, indem man versucht, Daten zum Client
zu schicken, schau im Zweifelsfall nochmal in die Doku zu
connection_aborted() und Co. 

> Ergo müsste man nur am Ende jedes script das relevant ist, diese 2
> checks machen und wenn nötig die session verwerfen...
> 
> Passiert ohnehin irgendwann mal..... Keine session auf die nicht
> zugegriffen wird bleibt ewig ;)

Also, das ist ja eben die von mir angesprochene Performanzfrage. Wenn du
dir leisten kannst, alle Skripte zehn Minuten lang laufen zu lassen, ok.
Und doch, jede session (zumindest datenbankbasierte) bleiben ewig
bestehen, wenn sie nicht explizit nach einem Timeout gelöscht werden.
Siehe Garbage-Collection.

Viele Grüße
André


-- 
Andre Temme         http://www.psyc-o-media.de
Mail:               mailto:a.temme_(at)_psyc-o-media.de


php::bar PHP Wiki   -   Listenarchive