<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://suprawiki.com.br/index.php?action=history&amp;feed=atom&amp;title=Scheduler</id>
	<title>Scheduler - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://suprawiki.com.br/index.php?action=history&amp;feed=atom&amp;title=Scheduler"/>
	<link rel="alternate" type="text/html" href="https://suprawiki.com.br/index.php?title=Scheduler&amp;action=history"/>
	<updated>2026-05-30T21:54:31Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://suprawiki.com.br/index.php?title=Scheduler&amp;diff=363&amp;oldid=prev</id>
		<title>Administrator: Importacão de dados via API</title>
		<link rel="alternate" type="text/html" href="https://suprawiki.com.br/index.php?title=Scheduler&amp;diff=363&amp;oldid=prev"/>
		<updated>2023-06-01T15:54:17Z</updated>

		<summary type="html">&lt;p&gt;Importacão de dados via API&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{velocity}}&lt;br /&gt;
## First, set a shortcut to our Scheduler plugin&lt;br /&gt;
##&lt;br /&gt;
#set ($scheduler = $xwiki.scheduler)&lt;br /&gt;
##&lt;br /&gt;
## If the sheet is called with an action ($request.do), let us first process this action&lt;br /&gt;
## Possible values are : &amp;quot;schedule&amp;quot;, &amp;quot;pause&amp;quot;, &amp;quot;resume&amp;quot;, &amp;quot;unschedule&amp;quot;, &amp;quot;delete&amp;quot;&lt;br /&gt;
##&lt;br /&gt;
#if (&amp;quot;$!request.do&amp;quot; != &amp;#039;&amp;#039; &amp;amp;&amp;amp; &amp;quot;$!request.which&amp;quot; != &amp;#039;&amp;#039;)&lt;br /&gt;
  ##&lt;br /&gt;
  ## Obtain the Job document and object for which the action has been called&lt;br /&gt;
  ##&lt;br /&gt;
  #set ($tJobHolder = $request.which)&lt;br /&gt;
  #set ($jobDoc = $xwiki.getDocument($tJobHolder))&lt;br /&gt;
  #set ($jobObj = $jobDoc.getObject(&amp;#039;XWiki.SchedulerJobClass&amp;#039;))&lt;br /&gt;
  #if ($request.do == &amp;#039;schedule&amp;#039;)&lt;br /&gt;
    ##&lt;br /&gt;
    ## Schedule a job&lt;br /&gt;
    ##&lt;br /&gt;
    #set ($ok = $scheduler.scheduleJob($jobObj))&lt;br /&gt;
    #if (!$ok)&lt;br /&gt;
      {{error}}$xcontext.get(&amp;#039;error&amp;#039;){{/error}}&lt;br /&gt;
&lt;br /&gt;
    #else&lt;br /&gt;
      #set ($jobName = &amp;quot;$jobObj.get(&amp;#039;jobName&amp;#039;)&amp;quot;)&lt;br /&gt;
      {{info}}$services.localization.render(&amp;#039;xe.scheduler.jobscheduled&amp;#039;, [$jobName, $scheduler.getNextFireTime($jobObj)]){{/info}}&lt;br /&gt;
&lt;br /&gt;
    #end&lt;br /&gt;
  #elseif ($request.do == &amp;#039;pause&amp;#039;)&lt;br /&gt;
    ##&lt;br /&gt;
    ## Pause a scheduled job&lt;br /&gt;
    ##&lt;br /&gt;
    #set ($ok = $scheduler.pauseJob($jobObj))&lt;br /&gt;
    #if (!$ok)&lt;br /&gt;
      {{error}}$xcontext.get(&amp;#039;error&amp;#039;){{/error}}&lt;br /&gt;
&lt;br /&gt;
    #else&lt;br /&gt;
      {{info}}$services.localization.render(&amp;#039;xe.scheduler.paused&amp;#039;, [$jobObj.get(&amp;#039;jobName&amp;#039;)]){{/info}}&lt;br /&gt;
&lt;br /&gt;
    #end&lt;br /&gt;
  #elseif ($request.do == &amp;#039;resume&amp;#039;)&lt;br /&gt;
    ##&lt;br /&gt;
    ## Resume a paused job&lt;br /&gt;
    ##&lt;br /&gt;
    #set ($ok = $scheduler.resumeJob($jobObj))&lt;br /&gt;
    #if (!$ok)&lt;br /&gt;
      {{error}}$xcontext.get(&amp;#039;error&amp;#039;){{/error}}&lt;br /&gt;
&lt;br /&gt;
    #else&lt;br /&gt;
      {{info}}$services.localization.render(&amp;#039;xe.scheduler.resumed&amp;#039;, [$jobObj.get(&amp;#039;jobName&amp;#039;), $scheduler.getNextFireTime($jobObj)]){{/info}}&lt;br /&gt;
&lt;br /&gt;
    #end&lt;br /&gt;
  #elseif ($request.do == &amp;#039;unschedule&amp;#039;)&lt;br /&gt;
    ##&lt;br /&gt;
    ## Unschedule a scheduled job (paused or not)&lt;br /&gt;
    ##&lt;br /&gt;
    #set ($ok = $scheduler.unscheduleJob($jobObj))&lt;br /&gt;
    #if (!$ok)&lt;br /&gt;
      {{error}}$xcontext.get(&amp;#039;error&amp;#039;){{/error}}&lt;br /&gt;
&lt;br /&gt;
    #else&lt;br /&gt;
      {{info}}$services.localization.render(&amp;#039;xe.scheduler.unscheduled&amp;#039;, [$jobObj.get(&amp;#039;jobName&amp;#039;)]){{/info}}&lt;br /&gt;
&lt;br /&gt;
    #end&lt;br /&gt;
  #elseif ($request.do == &amp;#039;delete&amp;#039;)&lt;br /&gt;
    ##&lt;br /&gt;
    ## Delete a job&lt;br /&gt;
    ## First unschedule it (if needed), then delete its document holder&lt;br /&gt;
    ##&lt;br /&gt;
    #set ($jobName = $jobObj.get(&amp;#039;jobName&amp;#039;))&lt;br /&gt;
    #if ($jobObj.get(&amp;#039;status&amp;#039;) == &amp;#039;Normal&amp;#039; || $jobObj.get(&amp;#039;status&amp;#039;) == &amp;#039;Paused&amp;#039;)&lt;br /&gt;
      #set ($ok = $scheduler.unscheduleJob($jobObj))&lt;br /&gt;
      #if ($ok)&lt;br /&gt;
        #set ($deleteRedirect = $xwiki.getURL($jobObj.getName(), &amp;#039;delete&amp;#039;))&lt;br /&gt;
        $response.sendRedirect($deleteRedirect)&lt;br /&gt;
      #else&lt;br /&gt;
        {{error}}$xcontext.get(&amp;#039;error&amp;#039;){{/error}}&lt;br /&gt;
&lt;br /&gt;
      #end&lt;br /&gt;
    #else&lt;br /&gt;
      #set ($deleteRedirect = $xwiki.getURL($jobObj.getName(), &amp;#039;delete&amp;#039;))&lt;br /&gt;
      $response.sendRedirect($deleteRedirect))&lt;br /&gt;
    #end&lt;br /&gt;
  #elseif ($request.do == &amp;#039;trigger&amp;#039;)&lt;br /&gt;
    ##&lt;br /&gt;
    ## Trigger a job (execute it now)&lt;br /&gt;
    ##&lt;br /&gt;
    #set ($ok = $scheduler.triggerJob($jobObj))&lt;br /&gt;
    #if (!$ok)&lt;br /&gt;
      {{error}}$xcontext.get(&amp;#039;error&amp;#039;){{/error}}&lt;br /&gt;
&lt;br /&gt;
    #else&lt;br /&gt;
      {{info}}$services.localization.render(&amp;#039;xe.scheduler.triggered&amp;#039;, [$jobObj.get(&amp;#039;jobName&amp;#039;)]){{/info}}&lt;br /&gt;
&lt;br /&gt;
    #end&lt;br /&gt;
  #end&lt;br /&gt;
#end&lt;br /&gt;
$services.localization.render(&amp;#039;xe.scheduler.welcome&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
= $services.localization.render(&amp;#039;xe.scheduler.jobs.list&amp;#039;) =&lt;br /&gt;
&lt;br /&gt;
##&lt;br /&gt;
## Retrieve all scheduler jobs&lt;br /&gt;
## Display their name, status, possible next fire time, and available actions&lt;br /&gt;
##&lt;br /&gt;
|=(%scope=&amp;quot;col&amp;quot;%)$services.localization.render(&amp;#039;xe.scheduler.jobs.name&amp;#039;)|=(%scope=&amp;quot;col&amp;quot;%)$services.localization.render(&amp;#039;xe.scheduler.jobs.status&amp;#039;)|=(%scope=&amp;quot;col&amp;quot;%)$services.localization.render(&amp;#039;xe.scheduler.jobs.next&amp;#039;)|=(%scope=&amp;quot;col&amp;quot;%)$services.localization.render(&amp;#039;xe.scheduler.jobs.actions&amp;#039;)&lt;br /&gt;
#foreach ($docName in $services.query.xwql(&amp;#039;from doc.object(XWiki.SchedulerJobClass) as jobs where doc.fullName &amp;lt;&amp;gt; &amp;#039;&amp;#039;XWiki.SchedulerJobTemplate&amp;#039;&amp;#039;&amp;#039;).execute())&lt;br /&gt;
  #set ($actions = {})&lt;br /&gt;
  #set ($jobHolder = $xwiki.getDocument($docName))&lt;br /&gt;
  #set ($job = $jobHolder.getObject(&amp;#039;XWiki.SchedulerJobClass&amp;#039;))&lt;br /&gt;
  #set ($status = $scheduler.getJobStatus($job).value)&lt;br /&gt;
  #if ($status == &amp;#039;&amp;#039;)&lt;br /&gt;
    #set ($status = &amp;#039;None&amp;#039;)&lt;br /&gt;
  #end&lt;br /&gt;
  #set ($firetime = &amp;#039;&amp;#039;)&lt;br /&gt;
  #if ($status != &amp;#039;None&amp;#039;)&lt;br /&gt;
    #set ($firetime = $scheduler.getNextFireTime($job))&lt;br /&gt;
  #else&lt;br /&gt;
    #set ($firetime = $services.localization.render(&amp;#039;xe.scheduler.jobs.next.undefined&amp;#039;))&lt;br /&gt;
  #end&lt;br /&gt;
  #set ($ok = $!actions.put(&amp;#039;trigger&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=trigger&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
  #if ($status == &amp;#039;None&amp;#039;)&lt;br /&gt;
    #set ($ok = $!actions.put(&amp;#039;schedule&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=schedule&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
  #elseif($status == &amp;#039;Normal&amp;#039;)&lt;br /&gt;
    #set ($ok = $!actions.put(&amp;#039;pause&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=pause&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
    #set ($ok = $!actions.put(&amp;#039;unschedule&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=unschedule&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
  #elseif ($status == &amp;#039;Paused&amp;#039;)&lt;br /&gt;
    #set ($ok = $!actions.put(&amp;#039;resume&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=resume&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
    #set ($ok = $!actions.put(&amp;#039;unschedule&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=unschedule&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
  #end&lt;br /&gt;
  #set ($ok = $!actions.put(&amp;#039;delete&amp;#039;, $doc.getURL(&amp;#039;view&amp;#039;, &amp;quot;do=delete&amp;amp;which=${jobHolder.fullName}&amp;quot;)))&lt;br /&gt;
|$job.get(&amp;#039;jobName&amp;#039;)|$status|$firetime|**$services.localization.render(&amp;#039;xe.scheduler.jobs.actions.access&amp;#039;)** [[$services.localization.render(&amp;#039;xe.scheduler.jobs.actions.view&amp;#039;)&amp;gt;&amp;gt;$jobHolder.fullName]]#if($jobHolder.hasAccessLevel(&amp;#039;programming&amp;#039;)) [[$services.localization.render(&amp;#039;xe.scheduler.jobs.actions.edit&amp;#039;)&amp;gt;&amp;gt;path:${jobHolder.getURL(&amp;#039;edit&amp;#039;)}]]#end **$services.localization.render(&amp;#039;xe.scheduler.jobs.actions.manage&amp;#039;)**#foreach($action in $actions.entrySet()) [[$services.localization.render(&amp;quot;xe.scheduler.jobs.actions.${action.key}&amp;quot;)&amp;gt;&amp;gt;path:${action.value}]]#end&lt;br /&gt;
&lt;br /&gt;
#end&lt;br /&gt;
#if ($doc.hasAccessLevel(&amp;#039;programming&amp;#039;))&lt;br /&gt;
##&lt;br /&gt;
## Job creation is offered only for programmers, because the job page needs to be saved &lt;br /&gt;
## with programming right for groovy jobs to be executed.&lt;br /&gt;
## However, this page should stay accessible to admins, that can manipulate existing jobs:&lt;br /&gt;
## schedule, pause, etc.&lt;br /&gt;
##&lt;br /&gt;
&lt;br /&gt;
= $services.localization.render(&amp;#039;xe.scheduler.jobs.create&amp;#039;) =&lt;br /&gt;
&lt;br /&gt;
##&lt;br /&gt;
## Form to create a new Job&lt;br /&gt;
##&lt;br /&gt;
{{info}}$services.localization.render(&amp;#039;xe.scheduler.jobs.explaincreate&amp;#039;){{/info}}&lt;br /&gt;
&lt;br /&gt;
{{html}}&lt;br /&gt;
&amp;lt;form action=&amp;quot;$doc.getURL(&amp;#039;create&amp;#039;)&amp;quot; id=&amp;quot;newdoc&amp;quot;&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;form_token&amp;quot; value=&amp;quot;$!{services.csrf.getToken()}&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;parent&amp;quot; value=&amp;quot;Scheduler.WebHome&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;template&amp;quot; value=&amp;quot;XWiki.SchedulerJobTemplate&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;sheet&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;space&amp;quot; value=&amp;quot;Scheduler&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;label class=&amp;quot;hidden&amp;quot; for=&amp;quot;page&amp;quot;&amp;gt;$services.localization.render(&amp;#039;xe.scheduler.jobs.create.nameTip&amp;#039;)&amp;lt;/label&amp;gt;&lt;br /&gt;
  &amp;lt;input id=&amp;quot;page&amp;quot; name=&amp;quot;page&amp;quot; size=&amp;quot;30&amp;quot; type=&amp;quot;text&amp;quot; class=&amp;quot;withTip&amp;quot; value=&amp;quot;$services.localization.render(&amp;#039;xe.scheduler.jobs.create.nameTip&amp;#039;)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;span class=&amp;quot;buttonwrapper&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; class=&amp;quot;btn btn-success button&amp;quot; value=&amp;quot;$services.localization.render(&amp;#039;xe.scheduler.jobs.create.submit&amp;#039;)&amp;quot;/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/form&amp;gt;&lt;br /&gt;
{{/html}}&lt;br /&gt;
&lt;br /&gt;
#else&lt;br /&gt;
&lt;br /&gt;
  {{warning}}$services.localization.render(&amp;#039;xe.scheduler.jobs.warning&amp;#039;){{/warning}}&lt;br /&gt;
&lt;br /&gt;
#end&lt;br /&gt;
{{/velocity}}&lt;/div&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
</feed>