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:class=servoy sSummery}{colgroup}{column:width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{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:class=servoy sDetail}{colgroup}{column:width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002}{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:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_des|text=|trigger=button}{sub-section}{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_des|trigger=none|class=sIndent}Adds a cron job to the scheduler.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_prs|trigger=none}jobname
cronTimings
globalMethod
\[startDate\]
\[endDate\]
\[arguments\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_ret|text=|trigger=button}{sub-section}{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_see|text=|trigger=button}{sub-section}{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_see|text=|trigger=button}{sub-section}{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_sam|text=|trigger=button}{sub-section}{sub-section:44ADFCC37CB81500-94EFFA1C-4DA546E9-B16481E5-FF4BA676EAC5A3C6A5F24002_sam|class=sIndent|trigger=none}{code:language=javascript}
// see: http://www.quartz.sourceforge.net/firstTutorial.html#cronTriggers-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}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540}{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:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_des|text=|trigger=button}{sub-section}{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_des|trigger=none|class=sIndent}Adds a job to the scheduler.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_prs|trigger=none}jobname
startDate
globalMethod
\[repeatInterval(ms)\]
\[repeatCount\]
\[endDate\]
\[arguments]]/ [arguments\]
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_ret|text=|trigger=button}{sub-section}{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_see|text=|trigger=button}{sub-section}{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_see|text=|trigger=button}{sub-section}{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_sam|text=|trigger=button}{sub-section}{sub-section:07E5450033804522-0F04E42F-4F3B4F49-990BB6E7-8D9EF4C1E283CC73DB4E7540_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}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB}{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}{tr:id=des}{td}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_des|text=|trigger=button}{sub-section}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_des|trigger=none|class=sIndent}Returns an array with the current jobs.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_ret|text=|trigger=button}{sub-section}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_ret|trigger=none|class=sIndent}[String]\[]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_see|text=|trigger=button}{sub-section}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_see|text=|trigger=button}{sub-section}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_sam|text=|trigger=button}{sub-section}{sub-section:92573F877C451CDC-3612CD10-40A14005-A986BA12-989BCC89C5FA5B3CAE754EDB_sam|class=sIndent|trigger=none}{code:language=javascript}
// Returns an array of current jobnames
plugins.scheduler.getCurrentJobNames()
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69}{tr:id=name}{td}h6.getLastRunJobName{td}{tr}{tr:id=sig}{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;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_des|text=|trigger=button}{sub-section}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_prs|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_ret|text=|trigger=button}{sub-section}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_ret|trigger=none|class=sIndent}[String]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_see|text=|trigger=button}{sub-section}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_see|text=|trigger=button}{sub-section}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sam}{td}*Sample*\\{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_sam|text=|trigger=button}{sub-section}{sub-section:317B788178CC2AA2-C85DAAE7-47B7430B-B8279085-86E8FB27D3FA2952CBDEBE69_sam|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F}{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}{td}{tr}{tr:id=des}{td}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_des|text=|trigger=button}{sub-section}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_des|trigger=none|class=sIndent}Removes a job from the scheduler.{sub-section}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_prs|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_prs|trigger=none}jobname
{sub-section}{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_ret|text=|trigger=button}{sub-section}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_ret|trigger=none|class=sIndent}void{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_see|text=|trigger=button}{sub-section}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_see|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_see|text=|trigger=button}{sub-section}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_link|class=sIndent|trigger=none}{sub-section}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_sam|text=|trigger=button}{sub-section}{sub-section:91234CF8766F41A8-5CD88913-433549D3-90DAAA4D-E8F45187EFF2BD2EC0900D6F_sam|class=sIndent|trigger=none}{code:language=javascript}
// removes a job 'myjob' from the scheduler
plugins.scheduler.removeJob('myjob')
{code}{sub-section}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}