Child pages
  • scheduler

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{note:title=Where is the method executed?}The scheduled methods are executed in the client in which they are started. This means that if the client is closed, the scheduled method(s) will not run anymore. See [Batch Processors| Batch Processor] for information how to continuously run methods in the background, in a client that will not be closed (automatically){note}{sub-section}\\ 

{table:id=|class=servoy sSummery}{colgroup}{column:padding=0px|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method SummarySummery{th}{tr}{tbody}{tr}{td}void{td}{td}[#addCronJob]\(jobname, cronTimings, globalMethod, \[startDate], \[endDate], \[arguments])
Adds a cron job to the scheduler.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#addJob]\(jobname, startDate, globalMethod, \[repeatInterval(ms)], \[repeatCount], \[endDate], \[arguments]]/ [arguments])
Adds a job to the scheduler.{td}{tr}{tbody}{tbody}{tr}{td}[String]\[]{td}{td}[#getCurrentJobNames]\()
Returns an array with the current jobs.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getLastRunJobName]\()
{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#removeJob]\(jobname)
Removes a job from the scheduler.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=7CB81500-FA1C-46E9-81E5-A3C6A5F24002addCronJob|class=node}{tr:id=name}{td}h6.addCronJob{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}addCronJob{span}{span:id=iets|style=float: left;}\(jobname, cronTimings, globalMethod, \[startDate], \[endDate], \[arguments]){span}{td}{tr}{tr:id=des}{td}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_desaddCronJob_des|text=|trigger=button}{sub-section}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002addCronJob_des|trigger=none|class=sIndent}Adds a cron job to the scheduler.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_prsaddCronJob_snc|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_prsaddCronJob_snc|trigger=none|class=sIndent}jobname cronTimingsReplace globalMethod
\[startDate\]
\[endDate\]
\[arguments\]
with version info{sub-section}{divtd}{tdtr}{trbuilder-show}{tr:id=retprs}{td}*ReturnsParameters*\\{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_retaddCronJob_prs|text=|trigger=button}{sub-section}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_retaddCronJob_prs|trigger=none|class=sIndent}void{sub-jobname
cronTimings
globalMethod
\[startDate]
\[endDate]
\[arguments]
{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seeret}{td}*Also seeReturns*\\{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_seeaddCronJob_ret|text=|trigger=button}{sub-section}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_seeaddCronJob_ret|trigger=none|class=sIndent|trigger=none}void{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksee}{td}*ExternalAlso linkssee*\\{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002addCronJob_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_link|class=sIndent|addCronJob_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=samlink}{td}*SampleExternal links*\\{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_samaddCronJob_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7CB81500-FA1C-46E9-81E5-A3C6A5F24002_sam|class=sIndentaddCronJob_link|trigger=none}{code:language=javascript}
// sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:addCronJob_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:addCronJob_sam|trigger=none}{code:language=javascript}
// see: http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html for more info
// add a job that runs every 20 minutes after the hour (0,20,40)
plugins.scheduler.addCronJob('20mins','0 0/20 * * * ?',globalMethod)
// add a job that runs every day at 23:30 between now and 5 days from now
var dateNow = new Date();
var date5Days = new Date(dateNow.getTime()+5*24*60*60*1000);
plugins.scheduler.addCronJob('23:30','0 30 23 ? * *',globalMethod,dateNow,date5Days)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=33804522-E42F-4F49-B6E7-CC73DB4E7540=addJob|class=node}{tr:id=name}{td}h6.addJob{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}addJob{span}{span:id=iets|style=float: left;}\(jobname, startDate, globalMethod, \[repeatInterval(ms)], \[repeatCount], \[endDate], \[arguments]]/ [arguments]){span}{td}{tr}{tr:id=des}{td}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_des|text=|trigger=button}{sub-section}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_des|trigger=none|class=sIndent}Adds a job to the scheduler.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prssnc}{td}*ParametersSince*\\{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540_prsaddJob_snc|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540_prssub-section:addJob_snc|trigger=none|class=sIndent}jobname startDateReplace globalMethod
\[repeatInterval(ms)\]
\[repeatCount\]
\[endDate\]
\[arguments]]/ [arguments\]
with version info{sub-section}{div}{td}{tr}{builder-show}{tr:id=retprs}{td}*ReturnsParameters*\\{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540_retaddJob_prs|text=|trigger=button}{sub-section}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540_retaddJob_prs|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*jobname
startDate
globalMethod
\[repeatInterval(ms)]
\[repeatCount]
\[endDate]
\[arguments]]/ \[arguments]
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:addJob_ret|text=|trigger=button}{sub-section}{sub-section:addJob_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540_seeaddJob_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:33804522-E42F-4F49-B6E7-CC73DB4E7540addJob_sam|class=sIndent|trigger=none}{code:language=javascript}
// add a job that runs at the given date (20 seconds in the future)
// and repeats that every 20 seconds for 40 times or the enddate is reached (0 for no repeats = just one call)
var startDate = new Date();
startDate.setTime(startDate.getTime()+20000);
var endDate = new Date(startDate.getTime()+100000);
plugins.scheduler.addJob('in20seconds',startDate,globalMethod,20000,40,endDate)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames|class=node}{tr:id=name}{td}h6.getCurrentJobNames{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]\[]{span}{span:id=iets|style=float: left; font-weight: bold;}getCurrentJobNames{span}{span:id=iets|style=float: left;}\(){span}{td}{tr-weight: bold;}getCurrentJobNames{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getCurrentJobNames_des|text=|trigger=button}{sub-section}{sub-section:getCurrentJobNames_des|trigger=none|class=sIndent}Returns an array with the current jobs.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=dessnc}{td}*Since*\\{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDB_desgetCurrentJobNames_snc|text=|trigger=button}{sub-section}{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDB_desgetCurrentJobNames_snc|trigger=none|class=sIndent}Returns anReplace array with the current jobs.version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_prs|text=|trigger=button}{sub-section}{div:class=sIndent-section}{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_prs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_ret|text=|trigger=button}{sub-section}{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_ret|trigger=none|class=sIndent}[String]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_see|text=|trigger=button}{sub-section}{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBdiv:class=sIndent}{sub-section:getCurrentJobNames_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDB_seegetCurrentJobNames_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_sam|text=|trigger=button}{sub-section}{sub-sectiondiv:class=sIndent}{sub-section:7C451CDC-CD10-4005-BA12-5B3CAE754EDBgetCurrentJobNames_sam|class=sIndent|trigger=none}{code:language=javascript}
// Returns an array of current jobnames
plugins.scheduler.getCurrentJobNames()
{code}{sub-section}()
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getLastRunJobName|class=node}{tr:id=name}{td}h6.getLastRunJobName{td}{tr}{tr:classid=lastDetailRowsig}{td}{td}{tr}{tbody}{tbody:id=78CC2AA2-AAE7-430B-9085-2952CBDEBE69}{tr:id=name}{td}h6.getLastRunJobNamespan:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getLastRunJobName{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=sigdes}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}getLastRunJobName{span}{span:id=iets|style=float: left;}\(){spansub-section:getLastRunJobName_des|text=|trigger=button}{sub-section}{sub-section:getLastRunJobName_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=dessnc}{td}*Since*\\{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69_desgetLastRunJobName_snc|text=|trigger=button}{sub-section}{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69_desgetLastRunJobName_snc|trigger=none|class=sIndent} Replace with version descriptioninfo{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_prs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_ret|text=|trigger=button}{sub-section}{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69_seegetLastRunJobName_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:78CC2AA2-AAE7-430B-9085-2952CBDEBE69getLastRunJobName_sam|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob|class=node}{tr:id=name}{td}h6.removeJob{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}void{span}{span:id=iets|style=float: left; font-weight: bold;}removeJob{span}{span:id=iets|style=float: left;}\(jobname){span{span}{span:id=iets|style=float: left;}\(jobname){span}{td}{tr}{tr:id=des}{td}{sub-section:removeJob_des|text=|trigger=button}{sub-section}{sub-section:removeJob_des|trigger=none|class=sIndent}Removes a job from the scheduler.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=dessnc}{td}*Since*\\{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6F_des-section:removeJob_snc|text=|trigger=button}{sub-section}{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6F_desremoveJob_snc|trigger=none|class=sIndent}Removes aReplace jobwith from the scheduler.version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_prs|trigger=none|class=nonesIndent}jobname
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_ret|text=|trigger=button}{sub-section}{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_see|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_see|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6F_seesub-section:removeJob_link|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_link|class=sIndent|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:766F41A8-8913-49D3-AA4D-BD2EC0900D6FremoveJob_sam|class=sIndent|trigger=none}{code:language=javascript}
// removes a job 'myjob' from the scheduler
plugins.scheduler.removeJob('myjob')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}