{* $Id$ *} {title help="Scheduler" admpage="general" url="tiki-admin_schedulers.php"}{tr}Scheduler{/tr}{/title}
{if isset($schedulerinfo.id)} {button href="?add=1" class="btn btn-primary" _text="{tr}Add a new Scheduler{/tr}"} {/if}
{tabset name='tabs_admin_schedulers'} {* ---------------------- tab with list -------------------- *} {if $schedulers|count > 0} {tab name="{tr}Schedulers{/tr}"}
{* Use css menus as fallback for item dropdown action menu if javascript is not being used *} {section name=scheduler loop=$schedulers} {$scheduler_name = $schedulers[scheduler].name|escape} {/section}
{tr}Name{/tr} {tr}Description{/tr} {tr}Task{/tr} {tr}Run Time{/tr} {tr}Status{/tr} {tr}Run only once{/tr} {tr}Re-Run{/tr} {*Reserved for stalled notices*}
{$scheduler_name} {$schedulers[scheduler].description|escape} {$schedulers[scheduler].task|escape} {$schedulers[scheduler].run_time|escape} {$schedulers[scheduler].status|escape|ucfirst} {if $schedulers[scheduler].stalled} {tr}Stalled{/tr} {/if} {actions} {strip} {if $schedulers[scheduler].stalled} {icon name="undo" _menu_text='y' _menu_icon='y' alt="{tr}Reset{/tr}"} {else} {icon name="play" _menu_text='y' _menu_icon='y' alt="{tr}Run now{/tr}"} {icon name="play" _menu_text='y' _menu_icon='y' alt="{tr}Run now{/tr} ({tr}Background{/tr})"} {/if} {icon name="edit" _menu_text='y' _menu_icon='y' alt="{tr}Edit{/tr}"} {icon name="log" _menu_text='y' _menu_icon='y' alt="{tr}Logs{/tr}"} {icon name="remove" _menu_text='y' _menu_icon='y' alt="{tr}Delete{/tr}"} {/strip} {/actions}
{/tab} {/if} {* ---------------------- tab with form -------------------- *} {if isset($schedulerinfo.id) && $schedulerinfo.id} {$add_edit_scheduler_tablabel = "{tr}Edit scheduler{/tr}"} {$schedulename = "{$schedulerinfo.name|escape}"} {else} {$add_edit_scheduler_tablabel = "{tr}Add a new scheduler{/tr}"} {$schedulename = ""} {/if} {tab name="{$add_edit_scheduler_tablabel} {$schedulename}"}

{remarksbox type="note" title="{tr}Information{/tr}"} {tr}Use CRON format to enter the values in "Run Time":
Minute, Hour, Day of Month, Month, Day of Week
Eg. every 5 minutes: */5 * * * *{/tr} {/remarksbox}
{ticket}
https://doc.tiki.org/Console
{foreach from=$schedulerTasks key=commandName item=taskName} {scheduler_params name=$commandName params=$schedulerinfo.params} {/foreach}
{if isset($schedulerinfo.id) && $schedulerinfo.id} {else} {/if}
{/tab} {if isset($schedulerinfo.id) && $schedulerinfo.id} {tab name="{tr}Scheduler logs{/tr}"}

{tr}Scheduler{/tr} {$schedulerinfo.name|escape} Logs

{tr}Last {$numOfLogs} Logs{/tr}

{section name=run loop=$schedulerruns} {/section}
ID Start Time End Time Status Output
{$schedulerruns[run].id} {$schedulerruns[run].start_time|tiki_short_datetime} {if $schedulerruns[run].end_time ne null}{$schedulerruns[run].end_time|tiki_short_datetime}{/if} {if $schedulerruns[run].status eq 'running'} {tr}Running{/tr} {/if} {if $schedulerruns[run].status eq 'failed'} {tr}Failed{/tr} {/if} {if $schedulerruns[run].status eq 'done'} {tr}Done{/tr} {/if} {if $schedulerruns[run].can_stop} {icon name="undo" _menu_text='y' _menu_icon='y' alt="{tr}Reset{/tr}"} {else} {$schedulerruns[run].output|nl2br} {/if}
{pagination_links cant=$cant step=$numrows offset=$offset}tiki-admin_schedulers.php?scheduler={$schedulerinfo.id}&cookietab=3{/pagination_links} {/tab} {/if} {if $jobs|count > 0} {tab name="{tr}Jobs{/tr}"}
{remarksbox type="note" title="{tr}Information{/tr}"} {tr}This page lists all scheduled background jobs along with their processing status. You can re-run a job or see a log of the job executions. Note that Tiki Scheduler must be executed periodically by a cron job in order to execute the background jobs. If you see a job in Active status below for too long interval, then your cron job is most probably not running. {/tr} {/remarksbox}
{* Use css menus as fallback for item dropdown action menu if javascript is not being used *} {section name=job loop=$jobs} {$job = $jobs[job]} {/section}
{tr}Name{/tr} {tr}Task{/tr} {tr}Params{/tr} {tr}Run Time{/tr} {tr}Status{/tr} {tr}Run Status{/tr} {tr}Start Time{/tr} {tr}End Time{/tr} {tr}Output{/tr}
{$job.name|escape} {$job.task|escape} {$job.params|escape} {$job.creation_date|tiki_short_datetime} {$job.status|escape|ucfirst} {if $job.run_status eq 'running'} {tr}Running{/tr} {/if} {if $job.run_status eq 'failed'} {tr}Failed{/tr} {/if} {if $job.run_status eq 'done'} {tr}Done{/tr} {/if} {if $job.start_time ne null}{$job.start_time|tiki_short_datetime}{/if} {if $job.end_time ne null}{$job.end_time|tiki_short_datetime}{/if} {$job.output|nl2br} {actions} {strip} {if $job.status eq 'inactive'} {icon name="play" _menu_text='y' _menu_icon='y' alt="{tr}Run again{/tr}"} {/if} {icon name="log" _menu_text='y' _menu_icon='y' alt="{tr}Logs{/tr}"} {icon name="remove" _menu_text='y' _menu_icon='y' alt="{tr}Delete{/tr}"} {/strip} {/actions}
{/tab} {/if} {/tabset} {jq} var selectedSchedulerTask = $('select[name="scheduler_task"]').val(); $('div [data-task-name="'+selectedSchedulerTask+'"]').show(); $('#console_doc').hide(); $('select[name="scheduler_task"]').on('change', function() { var taskName = this.value; $('div [data-task-name]:not([data-task-name="'+taskName+'"])').hide(); $('div [data-task-name="'+taskName+'"]').show(); if (taskName == "ConsoleCommandTask") { $('#console_doc').show(); } else { $('#console_doc').hide(); } }); $('form[name="RegForm"]').validate({ rules: { scheduler_time: { validate_cron_runtime: true } } }); {/jq}