Saturday, April 09, 2011 at 1:07 AM.
radio2Suite.background.everyMinute
on everyMinute () { <<Changes <<4/8/11; 4:39:33 PM by DW <<Maintenence flag to turn off static rendering for the radio2 user in River2. <<3/15/11; 10:45:47 AM by DW <<Maintenence flag to remove feed-level cloud elements. <<3/7/11; 2:51:00 PM by DW <<Maintenence flag to set the default cookieDomain in members.root to the domain that is running the Radio2 site. <<3/7/11; 10:27:22 AM by DW <<Maintenence flag to initially populate members.root from the Radio2 users. <<3/7/11; 9:10:12 AM by DW <<Maintenence flag to temporarily disable the API, which uses Basic Authentication and hasn't been tested in a long time. Before bringing it back must do a complete run-through. <<3/3/11; 11:32:58 AM by DW <<Maintenence flag to set whenLastGet for each user to yesterday at this time. <<3/3/11; 10:57:06 AM by DW <<Don't build the community OPML here, we'll do it from the everyHour script. <<3/2/11; 9:28:04 PM by DW <<Maintain the community OPML reading list. <<3/2/11; 9:46:14 AM by DW <<Maintenence flag that eliminates empty or nil enclosures in posts. <<2/24/11; 12:09:30 PM by DW <<Do a get-count for each user who is ready <<2/23/11; 10:43:36 PM by DW <<Maintenence flag to get rid of extraneous "tweetBoxx" in data table. <<2/22/11; 10:38:08 PM by DW <<Maintenence flag to rebuild the user's whole archive. We just made the archive actually work. :-) <<2/21/11; 11:25:41 AM by DW <<Add maintenence flags section, and add code that fixes all the links we have with UTM_ codes in the URLs. These are really ugly monstrosities. <<1/11/11; 12:12:35 PM by DW <<If the user's feeds table is empty, create a feed with the default name. <<12/14/10; 8:26:15 PM by DW <<Created. local (adrdata = radio2Suite.init (), now = clock.now ()); adrdata^.stats.ctEveryMinutes++; adrdata^.stats.whenLastEveryMinute = now; bundle { //do nothing on DW's desktop machine if defined (user.prefs.fldevmachine) { if user.prefs.fldevmachine { return}}}; bundle { //maintenence flags if not defined (adrdata^.prefs.flags.turnOffStaticRiver2User) { //4/8/11 by DW try {config.river2.users.radio2.prefs.static.enabled = false}; adrdata^.prefs.flags.turnOffStaticRiver2User = now}; if not defined (adrdata^.prefs.flags.removeFeedLevelClouds) { //3/15/11 by DW radio2Suite.utilities.removeFeedLevelClouds (); adrdata^.prefs.flags.removeFeedLevelClouds = now}; if not defined (adrdata^.prefs.flags.setCookieDomain) { //3/7/11 by DW radio2Suite.utilities.setCookieDomain (); adrdata^.prefs.flags.setCookieDomain = now}; if not defined (adrdata^.prefs.flags.initMembersRoot) { //3/7/11 by DW radio2Suite.utilities.initMembersRoot (); adrdata^.prefs.flags.initMembersRoot = now}; if not defined (adrdata^.prefs.flags.disableApi) { //3/7/11 by DW local (adruser); for adruser in @adrdata^.users { radio2Suite.initUser (adruser); adruser^.stats.counts.whenLastGet = date.yesterday (now)}; try {delete (@radio2Website.api)}; //it's been renamed to #api adrdata^.prefs.flags.disableApi = now}; if not defined (adrdata^.prefs.flags.nukeDateZeros) { //3/3/11 by DW local (adruser); for adruser in @adrdata^.users { radio2Suite.initUser (adruser); adruser^.stats.counts.whenLastGet = date.yesterday (now)}; adrdata^.prefs.flags.nukeDateZeros = now}; if not defined (adrdata^.prefs.flags.nilEnclosuresBad) { //3/2/11 by DW local (adruser, adrfeed); <<scratchpad.ctNilEnclosures = 0 on visit (adrpost) { if defined (adrpost^.enclosure) { if (adrpost^.enclosure == nil) or (adrpost^.enclosure == "") { <<scratchpad.ctNilEnclosures++ delete (@adrpost^.enclosure)}}; return (true)}; for adruser in @adrdata^.users { for adrfeed in @adruser^.feeds { mainresponder.calendar.visitReverseChronologic (@adrfeed^.calendar, @visit)}}; adrdata^.prefs.flags.nilEnclosuresBad = now}; if not defined (adrdata^.prefs.flags.removeUrlGarbage) { local (adruser, adrfeed); <<scratchpad.ctUrlsWithGarbage = 0 on visit (adrpost) { if defined (adrpost^.link) { local (newlink = string.removeUrlGarbage (adrpost^.link)); if newlink != adrpost^.link { adrpost^.link = newlink}}; <<scratchpad.ctUrlsWithGarbage++ return (true)}; for adruser in @adrdata^.users { for adrfeed in @adruser^.feeds { mainresponder.calendar.visitReverseChronologic (@adrfeed^.calendar, @visit)}}; adrdata^.prefs.flags.removeUrlGarbage = now}; if not defined (adrdata^.prefs.flags.rebuildFullArchive) { //2/22/11 by DW thread.callscript (@radio2Suite.utilities.rebuildArchive, {}); adrdata^.prefs.flags.rebuildFullArchive = now}; if defined (radio2Suite.data.tweetBoxx) { //2/23/11 by DW delete (@radio2Suite.data.tweetBoxx)}}; bundle { //do a get-count for each user who is ready, 2/24/11 by DW local (adruser, ctsecsbetwgets = 60 * adrdata^.prefs.ctMinutesBetwCountGets); for adruser in @adrdata^.users { if adruser^.prefs.shortener.enabled { if number (now - adruser^.stats.counts.whenLastGet) >= ctsecsbetwgets { try { radio2Suite.shortener.getCounts (adruser)}}}}}; bundle { //init all the feeds local (adruser, adrfeed); for adruser in @adrdata^.users { radio2Suite.initUser (adruser); if sizeof (adruser^.feeds) == 0 { //1/11/11 by DW new (tabletype, @adruser^.feeds.[radio2Suite.data.strings.defaultFeedName])}; for adrfeed in @adruser^.feeds { radio2Suite.initFeed (adrfeed)}}}}; <<bundle //build community OPML -- 3/3/11 by DW -- disabled <<local (flbuild = false) <<if adrdata^.stats.ctCommunityOpmlBuilds == 0 <<flbuild = true <<else <<if number (now - adrdata^.stats.whenLastCommunityOpmlBuild) >= (60 * 40) //build every 40 minutes <<flbuild = true <<if flbuild <<radio2Suite.buildCommunityOpml () bundle { //test code everyMinute ()}
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.