Skip to content

Instantly share code, notes, and snippets.

@psome
Last active June 13, 2023 03:33
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/c1abffd85267616007278fb324b9e031 to your computer and use it in GitHub Desktop.
Save psome/c1abffd85267616007278fb324b9e031 to your computer and use it in GitHub Desktop.
<cfscript>
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;
}
</cfscript>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment