Plasp
view release on metacpan or search on metacpan
lib/Plasp/GlobalASA.pm view on Meta::CPAN
$Application->{$Session->SessionID()} = started;
}
Sessions are easy to understand. When visiting a page in a web application, each
user has one unique C<$Session>. This session expires, after which the user will
have a new C<$Session> upon revisiting.
A web application starts when the user visits a page in that application, and
has a new C<$Session> created. Right before the first C<$Session> is created,
the C<$Application> is created. When the last user C<$Session> expires, that
C<$Application> expires also. For some web applications that are always busy,
the C<Application_OnEnd> event may never occur.
=cut
has 'filename' => (
is => 'ro',
isa => Path,
default => sub { shift->asp->Global->child( 'global.asa' ) },
coerce => Path->coercion,
);
lib/Plasp/GlobalASA.pm view on Meta::CPAN
=item Session_OnEnd
Triggered by a user session ending, C<Session_OnEnd> can be useful for cleaning
up and analyzing user data accumulated during a session.
Sessions end when the session timeout expires, and the C<StateManager> performs
session cleanup. The timing of the C<Session_OnEnd> does not occur immediately
after the session times out, but when the first script runs after the session
expires, and the C<StateManager> allows for that session to be cleaned up.
So on a busy site with default C<SessionTimeout> (20 minutes) and
C<StateManager> (10 times) settings, the C<Session_OnEnd> for a particular
session should be run near 22 minutes past the last activity that Session saw.
A site infrequently visited will only have the C<Session_OnEnd> run when a
subsequent visit occurs, and theoretically the last session of an application
ever run will never have its C<Session_OnEnd> run.
Thus I would not put anything mission-critical in the C<Session_OnEnd>, just
stuff that would be nice to run whenever it gets run.
=cut
( run in 0.293 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )