Monday, November 08, 2010 at 12:05 AM.

system.verbs.builtins.scheduler.init

<<Changes:
	<<06/24/00; 1:23:36 AM by PBS
		<<Logging is off by default.

if not defined (user.scheduler) {
	new (tabletype, @user.scheduler)};
if not defined (user.scheduler.prefs) {
	new (tabletype, @user.scheduler.prefs)};
if not defined (user.scheduler.prefs.confirmStartupTasks) {
	user.scheduler.prefs.confirmStartupTasks = true};
	<<Thu, Feb 18, 1999 at 1:45:33 PM by PBS
if not defined (user.scheduler.prefs.keepLog) {
	user.scheduler.prefs.keepLog = false};
if not defined (user.scheduler.prefs.logInGuestDatabase) {
	<<user.scheduler.prefs.logInGuestDatabase = true //PBS 11/23/99: now true
	user.scheduler.prefs.logInGuestDatabase = false}; //PBS 06/24/00: now false by default
if not defined (user.scheduler.overnight) {
	new (tabletype, @user.scheduler.overnight)};
if not defined (user.scheduler.everyMinute) {
	new (tabletype, @user.scheduler.everyMinute)};
if not defined (user.scheduler.hourly) {
	new (tabletype, @user.scheduler.hourly)};

if not defined (user.scheduler.prefs.startingUp) {
	user.scheduler.prefs.startingUp = false};
if not defined (user.scheduler.prefs.reschedule) {
	user.scheduler.prefs.reschedule = true};

bundle { //initialize user.scheduler.tasks
	if not defined (user.scheduler.tasks) {
		new (tabletype, @user.scheduler.tasks)};
	local (day, month, year, hour, minute, second);
	date.get (clock.now (), @day, @month, @year, @hour, @minute, @second);
	if not defined (user.scheduler.tasks.everyMinute) {
		local (adrtable = @user.scheduler.tasks.everyMinute);
		new (tabletype, adrtable);
		adrtable^.error = "";
		adrtable^.minutesBetweenRuns = 1;
		adrtable^.script = @scheduler.doEveryMinute;
		adrtable^.taskTime = date.set (day, month, year, hour, minute + 1, 0)};
	if not defined (user.scheduler.tasks.overnight) {
		local (adrtable = @user.scheduler.tasks.overnight);
		new (tabletype, adrtable);
		adrtable^.error = "";
		adrtable^.minutesBetweenRuns = 1440;
		adrtable^.script = @scheduler.doOvernightTasks;
		adrtable^.taskTime = date.set (day + 1, month, year, 0, 0, 0)};
	if not defined (user.scheduler.tasks.hourly) {
		local (adrtable = @user.scheduler.tasks.hourly);
		new (tabletype, adrtable);
		adrtable^.error = "";
		adrtable^.minutesBetweenRuns = 60;
		adrtable^.script = @scheduler.doHourlyTasks;
		adrtable^.taskTime = date.set (day, month, year, hour + 1, 0, 0)}};
bundle { //upgrade user.scheduler.tasks
	local (i);
	for i = 1 to sizeof (user.scheduler.tasks) {
		adrtask = @user.scheduler.tasks [i];
		if not defined (adrtask^.ctruns) {
			adrtask^.ctRuns = 0}}};
bundle { //6.1 threads-related initialization
	if not defined (user.scheduler.threads) {
		new (tabletype, @user.scheduler.threads)};
	if not defined (user.scheduler.prefs.runThreads) {
		user.scheduler.prefs.runThreads = true}}



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.