[Seaside] Seaside sessions not being either unregistered or GCed
Mariano Martinez Peck
marianopeck at gmail.com
Fri Jul 3 21:41:10 UTC 2015
Hi guys,
I am having a hard time to see why my seaside sessions are not being GCed
nor unregistered.
First of all, when I register my app, I set a timeout. I even tried with 1
minute timeout:
*app cache expiryPolicy configuration at: #cacheTimeout put: 60*
I put a *halt in MySessionSubclass >> #unregistered* (which then calls
super).
I have seen many seaside things around:
WARenderVisitor instanceCount -> 77.
WAHtmlCanvas instanceCount -> 1061.
JQueryClass instanceCount -> 13492.
WACallbackRegistry instanceCount -> 77.
MySessionSubclass -> 12.
.....
As you can see, I have plenty of memory around callbacks registries,
renders, visitors, sessions etc... If I try to see which sessions were
expired:
*MySessionSubclass allInstances select: [ :each | (each instVarNamed:
'parent') isNil ] -> #() *
The 'parent' instVar there is because "super unregistered" does that and I
don't know another way to check if a session is expired or not.
Finally, the only way I have to get rid of everything is this way:
*WAApplication allInstances do: [ :each | each clear ].*
But then, that clears all sessions...even the active ones which I don't
want. *So.... how can I force the GC of all none expired sessions? And why
my sessions are not receiving #unregistered ?*
Note also that in my example the instanceCount of MySessionSubclass is
bigger than 10, because somewhere I read that Seaside would start cleaning
sessions upon 10th.
So.... any idea? What am I doing wrong?
Thanks in advance,
--
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150703/c004b15d/attachment-0001.htm
More information about the seaside
mailing list