Skip to content

Instantly share code, notes, and snippets.

@psome
Last active September 1, 2022 10:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save psome/e3de176fb59996c20176b93c76ae6ec9 to your computer and use it in GitHub Desktop.
Save psome/e3de176fb59996c20176b93c76ae6ec9 to your computer and use it in GitHub Desktop.
Schedule Wrapper for Lucee
function Schedule(){
rtn = {
all = function(){
cfschedule(action="list",returnvariable="cfSch");
return cfsch;
},
RemoveTask= function(taskName){
try {
cfschedule(action="delete",task=taskName);
} catch(any e){
return true;
}
return true;
},
RemoveAllTasks = function(){
for(task in rtn.all() ){
rtn.RemoveTask(taskName = task.task );
}
return true;
},
TaskExists = function(TaskName){
for(task in rtn.all() ){
if(task.task == arguments.taskname){
return true;
}
}
return false;
},
NewTask = function(
name=createUUID()
, url=''
, interval=60 // 60Sec = 1 Min Can be set in seconds or as Once, Daily, Weekly, and Monthly.
, startdate=dateFormat(now(), 'mm/dd/yyyy')
, starttime = '0:01'
, autodelete = false
){
cfschedule(
action="update"
, startdate = arguments.startdate
, starttime = arguments.starttime
, interval = arguments.interval
, task = arguments.name
//, hidden = true
//, unique = true
, url = arguments.url
, autodelete=arguments.autodelete
, returnvariable="cfSch"
);
return true;
},
PauseTask = function(TaskName){
if(rtn.taskExists(arguments.TaskName) ){
cfschedule(action="pause",task=taskName);
}
},
UnPauseTask = function(TaskName){
if(rtn.taskExists(arguments.TaskName) ){
cfschedule(action="resume",task=taskName);
}
}
};
return rtn;
}
function Serverlink(href='',base=application.approot ?: '/'){
if( left(arguments.href,1) == '/'){
arguments.href = right(arguments.href,len(arguments.href)-1);
}
return 'http://' & cgi.server_name & arguments.base & arguments.href;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment