Hi there,
I'm on seaside 2.8 and I'm seeing expired sessions not being collected. Of course #clearHandlers helps but that isn't helpful in a production serving image because it will force expiration of sessions of users navigating the app. I wanted to know if you do (or why you don't) make a method to call from time that will remove from the WARegistry handlers dictionary the expired sessions. Or maybe better, why not to remove sessions from there immediately after they expire so unuseful things can be collected ASAP. thanks, sebastian _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
WARegistry>>unregisterExpiredHandlers ?
It should be called periodically as sessions are created (whenever #shouldCollectHandlers returns true). So expired sessions will not be garbage collected immediately but they should eventually be released. Julian On Sun, Feb 22, 2009 at 6:28 PM, Sebastian Sastre <[hidden email]> wrote: > Hi there, > I'm on seaside 2.8 and I'm seeing expired sessions not being collected. Of > course #clearHandlers helps but that isn't helpful in a production serving image > because it will force expiration of sessions of users navigating the app. > > I wanted to know if you do (or why you don't) make a method to call from time > that will remove from the WARegistry handlers dictionary the expired sessions. > > Or maybe better, why not to remove sessions from there immediately after they > expire so unuseful things can be collected ASAP. > > thanks, > > sebastian > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
ah true. Now I get it. Strange that #unregisterExpiredHandlers is not taking
advantage of sending #expire to the the iterated sessions. For me it would be interesting because I override expire (sending always super expire) in subclasses of WASession releasing stuff. Thanks for the tip Julian, best, sebastian > -----Mensaje original----- > De: [hidden email] > [mailto:[hidden email]] En nombre > de Julian Fitzell > Enviado el: Sunday, February 22, 2009 14:53 > Para: Seaside - general discussion > Asunto: Re: [Seaside] purge expired sessions > > WARegistry>>unregisterExpiredHandlers ? > > It should be called periodically as sessions are created (whenever > #shouldCollectHandlers returns true). > > So expired sessions will not be garbage collected immediately but they > should eventually be released. > > Julian > > On Sun, Feb 22, 2009 at 6:28 PM, Sebastian Sastre > <[hidden email]> wrote: > > Hi there, > > I'm on seaside 2.8 and I'm seeing expired sessions not > being collected. Of > > course #clearHandlers helps but that isn't helpful in a > production serving image > > because it will force expiration of sessions of users > navigating the app. > > > > I wanted to know if you do (or why you don't) make a method > to call from time > > that will remove from the WARegistry handlers dictionary > the expired sessions. > > > > Or maybe better, why not to remove sessions from there > immediately after they > > expire so unuseful things can be collected ASAP. > > > > thanks, > > > > sebastian > > > > _______________________________________________ > > seaside mailing list > > [hidden email] > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
It should send #unregistered or something... no?
On Sun, Feb 22, 2009 at 7:27 PM, Sebastian Sastre <[hidden email]> wrote: > ah true. Now I get it. Strange that #unregisterExpiredHandlers is not taking > advantage of sending #expire to the the iterated sessions. For me it would be > interesting because I override expire (sending always super expire) in > subclasses of WASession releasing stuff. > > Thanks for the tip Julian, > best, > sebastian > > >> -----Mensaje original----- >> De: [hidden email] >> [mailto:[hidden email]] En nombre >> de Julian Fitzell >> Enviado el: Sunday, February 22, 2009 14:53 >> Para: Seaside - general discussion >> Asunto: Re: [Seaside] purge expired sessions >> >> WARegistry>>unregisterExpiredHandlers ? >> >> It should be called periodically as sessions are created (whenever >> #shouldCollectHandlers returns true). >> >> So expired sessions will not be garbage collected immediately but they >> should eventually be released. >> >> Julian >> >> On Sun, Feb 22, 2009 at 6:28 PM, Sebastian Sastre >> <[hidden email]> wrote: >> > Hi there, >> > I'm on seaside 2.8 and I'm seeing expired sessions not >> being collected. Of >> > course #clearHandlers helps but that isn't helpful in a >> production serving image >> > because it will force expiration of sessions of users >> navigating the app. >> > >> > I wanted to know if you do (or why you don't) make a method >> to call from time >> > that will remove from the WARegistry handlers dictionary >> the expired sessions. >> > >> > Or maybe better, why not to remove sessions from there >> immediately after they >> > expire so unuseful things can be collected ASAP. >> > >> > thanks, >> > >> > sebastian >> > >> > _______________________________________________ >> > seaside mailing list >> > [hidden email] >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
oh I missed that, you're right. #unregistered sends #expire. It's working like a
charm. The only thing I don't agree is the decision on when to do it. Rigth now is decided by this policy: shouldCollectHandlers ^ handlersByKey size \\ 10 = 0 which guarantees some waste of RAM and I prefer a time to time policy that well tuned will not. I've added a timer on a service responsible object that sends every X minutes this housekeeping: WARegistry allSubInstancesDo:[:anApplication| anApplication unregisterExpiredHandlers] greetings, sebastian > -----Mensaje original----- > De: [hidden email] > [mailto:[hidden email]] En nombre > de Julian Fitzell > Enviado el: Sunday, February 22, 2009 15:32 > Para: Seaside - general discussion > Asunto: Re: [Seaside] purge expired sessions > > It should send #unregistered or something... no? > > On Sun, Feb 22, 2009 at 7:27 PM, Sebastian Sastre > <[hidden email]> wrote: > > ah true. Now I get it. Strange that > #unregisterExpiredHandlers is not taking > > advantage of sending #expire to the the iterated sessions. > For me it would be > > interesting because I override expire (sending always super > expire) in > > subclasses of WASession releasing stuff. > > > > Thanks for the tip Julian, > > best, > > sebastian > > > > > >> -----Mensaje original----- > >> De: [hidden email] > >> [mailto:[hidden email]] En nombre > >> de Julian Fitzell > >> Enviado el: Sunday, February 22, 2009 14:53 > >> Para: Seaside - general discussion > >> Asunto: Re: [Seaside] purge expired sessions > >> > >> WARegistry>>unregisterExpiredHandlers ? > >> > >> It should be called periodically as sessions are created (whenever > >> #shouldCollectHandlers returns true). > >> > >> So expired sessions will not be garbage collected > immediately but they > >> should eventually be released. > >> > >> Julian > >> > >> On Sun, Feb 22, 2009 at 6:28 PM, Sebastian Sastre > >> <[hidden email]> wrote: > >> > Hi there, > >> > I'm on seaside 2.8 and I'm seeing expired sessions not > >> being collected. Of > >> > course #clearHandlers helps but that isn't helpful in a > >> production serving image > >> > because it will force expiration of sessions of users > >> navigating the app. > >> > > >> > I wanted to know if you do (or why you don't) make a method > >> to call from time > >> > that will remove from the WARegistry handlers dictionary > >> the expired sessions. > >> > > >> > Or maybe better, why not to remove sessions from there > >> immediately after they > >> > expire so unuseful things can be collected ASAP. > >> > > >> > thanks, > >> > > >> > sebastian > >> > > >> > _______________________________________________ > >> > seaside mailing list > >> > [hidden email] > >> > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >> > > >> _______________________________________________ > >> seaside mailing list > >> [hidden email] > >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > _______________________________________________ > > seaside mailing list > > [hidden email] > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Yup, it's a trade off for simplicity. We don't want to distribute
something that depends on background processes and we don't want to have to look through the cache on every request. It's assumed that people who need other behaviour will adapt to their needs. Note Seaside 2.9 will have a pluggable cache mechanism which should allow platforms to provide an implementation that behaves as you desire and can be configured for particular applications. We haven't actually written such an implementation yet, though. Julian On Sun, Feb 22, 2009 at 7:56 PM, Sebastian Sastre <[hidden email]> wrote: > oh I missed that, you're right. #unregistered sends #expire. It's working like a > charm. > The only thing I don't agree is the decision on when to do it. Rigth now is > decided by this policy: > shouldCollectHandlers > ^ handlersByKey size \\ 10 = 0 > which guarantees some waste of RAM and I prefer a time to time policy that well > tuned will not. I've added a timer on a service responsible object that sends > every X minutes this housekeeping: > WARegistry allSubInstancesDo:[:anApplication| > anApplication unregisterExpiredHandlers] > greetings, > sebastian > > >> -----Mensaje original----- >> De: [hidden email] >> [mailto:[hidden email]] En nombre >> de Julian Fitzell >> Enviado el: Sunday, February 22, 2009 15:32 >> Para: Seaside - general discussion >> Asunto: Re: [Seaside] purge expired sessions >> >> It should send #unregistered or something... no? >> >> On Sun, Feb 22, 2009 at 7:27 PM, Sebastian Sastre >> <[hidden email]> wrote: >> > ah true. Now I get it. Strange that >> #unregisterExpiredHandlers is not taking >> > advantage of sending #expire to the the iterated sessions. >> For me it would be >> > interesting because I override expire (sending always super >> expire) in >> > subclasses of WASession releasing stuff. >> > >> > Thanks for the tip Julian, >> > best, >> > sebastian >> > >> > >> >> -----Mensaje original----- >> >> De: [hidden email] >> >> [mailto:[hidden email]] En nombre >> >> de Julian Fitzell >> >> Enviado el: Sunday, February 22, 2009 14:53 >> >> Para: Seaside - general discussion >> >> Asunto: Re: [Seaside] purge expired sessions >> >> >> >> WARegistry>>unregisterExpiredHandlers ? >> >> >> >> It should be called periodically as sessions are created (whenever >> >> #shouldCollectHandlers returns true). >> >> >> >> So expired sessions will not be garbage collected >> immediately but they >> >> should eventually be released. >> >> >> >> Julian >> >> >> >> On Sun, Feb 22, 2009 at 6:28 PM, Sebastian Sastre >> >> <[hidden email]> wrote: >> >> > Hi there, >> >> > I'm on seaside 2.8 and I'm seeing expired sessions not >> >> being collected. Of >> >> > course #clearHandlers helps but that isn't helpful in a >> >> production serving image >> >> > because it will force expiration of sessions of users >> >> navigating the app. >> >> > >> >> > I wanted to know if you do (or why you don't) make a method >> >> to call from time >> >> > that will remove from the WARegistry handlers dictionary >> >> the expired sessions. >> >> > >> >> > Or maybe better, why not to remove sessions from there >> >> immediately after they >> >> > expire so unuseful things can be collected ASAP. >> >> > >> >> > thanks, >> >> > >> >> > sebastian >> >> > >> >> > _______________________________________________ >> >> > seaside mailing list >> >> > [hidden email] >> >> > >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> > >> >> _______________________________________________ >> >> seaside mailing list >> >> [hidden email] >> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > >> > _______________________________________________ >> > seaside mailing list >> > [hidden email] >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
cool. Glad to hear that,
cheers sebastian > -----Mensaje original----- > De: [hidden email] > [mailto:[hidden email]] En nombre > de Julian Fitzell > Enviado el: Sunday, February 22, 2009 16:53 > Para: Seaside - general discussion > Asunto: Re: [Seaside] purge expired sessions > > Yup, it's a trade off for simplicity. We don't want to distribute > something that depends on background processes and we don't want to > have to look through the cache on every request. > > It's assumed that people who need other behaviour will adapt to their > needs. Note Seaside 2.9 will have a pluggable cache mechanism which > should allow platforms to provide an implementation that behaves as > you desire and can be configured for particular applications. We > haven't actually written such an implementation yet, though. > > Julian > > On Sun, Feb 22, 2009 at 7:56 PM, Sebastian Sastre > <[hidden email]> wrote: > > oh I missed that, you're right. #unregistered sends > #expire. It's working like a > > charm. > > The only thing I don't agree is the decision on when to do > it. Rigth now is > > decided by this policy: > > shouldCollectHandlers > > ^ handlersByKey size \\ 10 = 0 > > which guarantees some waste of RAM and I prefer a time to > time policy that well > > tuned will not. I've added a timer on a service responsible > object that sends > > every X minutes this housekeeping: > > WARegistry allSubInstancesDo:[:anApplication| > > anApplication unregisterExpiredHandlers] > > greetings, > > sebastian > > > > > >> -----Mensaje original----- > >> De: [hidden email] > >> [mailto:[hidden email]] En nombre > >> de Julian Fitzell > >> Enviado el: Sunday, February 22, 2009 15:32 > >> Para: Seaside - general discussion > >> Asunto: Re: [Seaside] purge expired sessions > >> > >> It should send #unregistered or something... no? > >> > >> On Sun, Feb 22, 2009 at 7:27 PM, Sebastian Sastre > >> <[hidden email]> wrote: > >> > ah true. Now I get it. Strange that > >> #unregisterExpiredHandlers is not taking > >> > advantage of sending #expire to the the iterated sessions. > >> For me it would be > >> > interesting because I override expire (sending always super > >> expire) in > >> > subclasses of WASession releasing stuff. > >> > > >> > Thanks for the tip Julian, > >> > best, > >> > sebastian > >> > > >> > > >> >> -----Mensaje original----- > >> >> De: [hidden email] > >> >> [mailto:[hidden email]] En nombre > >> >> de Julian Fitzell > >> >> Enviado el: Sunday, February 22, 2009 14:53 > >> >> Para: Seaside - general discussion > >> >> Asunto: Re: [Seaside] purge expired sessions > >> >> > >> >> WARegistry>>unregisterExpiredHandlers ? > >> >> > >> >> It should be called periodically as sessions are > created (whenever > >> >> #shouldCollectHandlers returns true). > >> >> > >> >> So expired sessions will not be garbage collected > >> immediately but they > >> >> should eventually be released. > >> >> > >> >> Julian > >> >> > >> >> On Sun, Feb 22, 2009 at 6:28 PM, Sebastian Sastre > >> >> <[hidden email]> wrote: > >> >> > Hi there, > >> >> > I'm on seaside 2.8 and I'm seeing expired sessions not > >> >> being collected. Of > >> >> > course #clearHandlers helps but that isn't helpful in a > >> >> production serving image > >> >> > because it will force expiration of sessions of users > >> >> navigating the app. > >> >> > > >> >> > I wanted to know if you do (or why you don't) make a method > >> >> to call from time > >> >> > that will remove from the WARegistry handlers dictionary > >> >> the expired sessions. > >> >> > > >> >> > Or maybe better, why not to remove sessions from there > >> >> immediately after they > >> >> > expire so unuseful things can be collected ASAP. > >> >> > > >> >> > thanks, > >> >> > > >> >> > sebastian > >> >> > > >> >> > _______________________________________________ > >> >> > seaside mailing list > >> >> > [hidden email] > >> >> > > >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >> >> > > >> >> _______________________________________________ > >> >> seaside mailing list > >> >> [hidden email] > >> >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >> > > >> > _______________________________________________ > >> > seaside mailing list > >> > [hidden email] > >> > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >> > > >> _______________________________________________ > >> seaside mailing list > >> [hidden email] > >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > _______________________________________________ > > seaside mailing list > > [hidden email] > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |