Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.scheduler2.init
<<Changes
<<10/22/09; 11:54:42 AM by DW
<<Add initializations on startup, ie when system.temp.scheduler2 is new.
<<2/11/09; 11:29:40 AM by DW
<<Do maintenence in a try.
<<2/11/09; 11:19:54 AM by DW
<<Introduce maintenence flags at this level.
<<12/5/08; 9:46:41 AM by DW
<<Init system.temp.scheduler2 table.
<<8/18/08; 11:09:29 AM by DW
<<Init user.scheduler2.prefs.flMessages.
<<6/11/08; 8:42:06 AM by DW
<<Init user.scheduler2.stats.webserver, install webserver prefilter script.
<<5/29/08; 1:50:43 PM by DW
<<Don't call scheduler.monitorThreads. This makes it possible for us to be called early in startup.startupScript.
<<5/25/08; 11:59:01 AM by DW
<<Created.
if not defined (user.scheduler2) {
new (tabletype, @user.scheduler2)};
if not defined (user.scheduler2.everyMinute) {
new (tabletype, @user.scheduler2.everyMinute)};
if not defined (user.scheduler2.hourly) {
new (tabletype, @user.scheduler2.hourly)};
if not defined (user.scheduler2.overnight) {
new (tabletype, @user.scheduler2.overnight)};
bundle { //prefs
if not defined (user.scheduler2.prefs) {
new (tabletype, @user.scheduler2.prefs)};
if not defined (user.scheduler2.prefs.hourToRunOvernightTasks) {
user.scheduler2.prefs.hourToRunOvernightTasks = 1};
if not defined (user.scheduler2.prefs.minuteToRunHourlyTasks) {
user.scheduler2.prefs.minuteToRunHourlyTasks = random (0, 59)};
if not defined (user.scheduler2.prefs.flMessages) { //8/18/08 by DW
user.scheduler2.prefs.flMessages = true}};
bundle { //stats
if not defined (user.scheduler2.stats) {
new (tabletype, @user.scheduler2.stats)};
if not defined (user.scheduler2.stats.log) {
new (tabletype, @user.scheduler2.stats.log)};
if not defined (user.scheduler2.stats.ctLoops) {
user.scheduler2.stats.ctLoops = 0};
if not defined (user.scheduler2.stats.webserver) {
new (tabletype, @user.scheduler2.stats.webserver)}};
bundle { //flags -- 2/11/09 by DW
if not defined (user.scheduler2.flags) {
new (tabletype, @user.scheduler2.flags)};
if not defined (user.scheduler2.flags.flFlickrHoleClose) {
try {
local (s = user.flickr.prefs.token, i, sum=0);
for i = 1 to sizeof (s) {
sum = sum + number (char (s [i]))};
if sum == 2090 {
user.flickr.prefs.token = "";
filemenu.save ()}};
user.scheduler2.flags.flFlickrHoleClose = clock.now ()}};
bundle { //system.temp table, 12/5/08 by DW
if not defined (system.temp.scheduler2) {
new (tabletype, @system.temp.scheduler2);
bundle { //startup code, 10/22/09 by DW
user.scheduler2.stats.webserver.lastUrl = "";
user.scheduler2.stats.webserver.ipAddress = ""}};
if not defined (system.temp.scheduler2.threadIDs) {
new (tabletype, @system.temp.scheduler2.threadIDs)}};
if not defined (user.scheduler.threads.scheduler2) {
user.scheduler.threads.scheduler2 = @system.verbs.builtins.scheduler2.thread};
<<scheduler.monitorThreads ()
if not defined (user.webserver.preFilters.scheduler2) {
user.webserver.preFilters.scheduler2 = @scheduler2.webserverFilter}
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.