Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.realtime.server.deleteOldInboxes
on deleteOldInboxes () {
<<Changes
<<7/26/10; 6:58:11 PM by DW
<<Count individual deletions, not calls to this routine.
<<7/26/10; 6:54:30 PM by DW
<<Count the number of inbox deletions.
<<7/26/10; 6:30:03 PM by DW
<<If an inbox hasn't been checked in N hours, it's deemed old and can be reclaimed.
local (adrdata = realtime.init (), adruser, now = clock.now (), i);
adrdata^.server.stats.whenLastDeleteInboxes = now;
local (ctsecsmax = adrdata^.server.prefs.ctSecsReclaimInbox);
for adruser in @adrdata^.server.users {
for i = sizeof (adruser^.inboxes) downto 1 {
local (adrinbox = @adruser^.inboxes [i]);
local (ctsecs = number (now - adrinbox^.stats.whenLastCheck));
if ctsecs > ctsecsmax {
adrdata^.server.stats.ctDeleteInboxes++;
delete (adrinbox)}}}};
bundle { //test code
deleteOldInboxes ()}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.