Thursday, April 14, 2011 at 1:07 AM.
radioReallySimpleSuite.checkRetries
on checkRetries () {
<<Changes
<<4/10/11; 7:00:10 PM by DW
<<Created.
local (adrdata = radioreallysimplesuite.init (), now = clock.now (), adruser, cutofftime);
bundle { //set cutofftime
cutofftime = now - (24 * 60 * 60)};
for adruser in @adrdata^.users {
if adruser^.prefs.flRetryEnabled {
on visit (adritem) {
if adritem^.when < cutofftime { //stop looking within this calendar
return (false)};
if defined (adritem^.stats) {
if not adritem^.stats.flgood {
if now >= adritem^.stats.whenNextRetry {
try {
local (xstruct, adrstatus);
twitter.newpost (adritem^.status, adruser:adruser, adrResponse:@xstruct);
adrstatus = xml.getaddress (@xstruct, "status");
adritem^.stats.flGood = true;
adritem^.stats.id= xml.getvalue (adrstatus, "id");
adritem^.xstruct = xstruct}
else {
adritem^.stats.ctErrors++;
adritem^.stats.whenNextRetry = now + (10 * 60)}}}}; //ten minutes
return (true)};
mainresponder.calendar.visitReverseChronologic (@adruser^.calendar, @visit)}}};
bundle { //test code
checkRetries ()}
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.