From 537327e41db1843d07af20ceb74a8e03f7173221 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 18 May 2020 16:24:19 +0200 Subject: [PATCH] pass $user to execute() method of task --- ext/example/class.example.php | 2 +- inc/inc.ClassSchedulerTaskBase.php | 2 +- utils/schedulercli.php | 13 +++++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ext/example/class.example.php b/ext/example/class.example.php index 5ae864f1e..c2dc22964 100644 --- a/ext/example/class.example.php +++ b/ext/example/class.example.php @@ -186,7 +186,7 @@ class SeedDMS_ExtExample_Task extends SeedDMS_SchedulerTaskBase { * @param $dms dms * @return boolean true if task was executed succesfully, otherwise false */ - public function execute($task, $dms) { + public function execute($task, $dms, $user) { $taskparams = $task->getParameter(); return true; } diff --git a/inc/inc.ClassSchedulerTaskBase.php b/inc/inc.ClassSchedulerTaskBase.php index c190096a9..c51c0c0e7 100644 --- a/inc/inc.ClassSchedulerTaskBase.php +++ b/inc/inc.ClassSchedulerTaskBase.php @@ -29,7 +29,7 @@ * @package SeedDMS */ class SeedDMS_SchedulerTaskBase { - public function execute($task, $dms) { + public function execute($task, $dms, $user) { return true; } } diff --git a/utils/schedulercli.php b/utils/schedulercli.php index 6ebdbca00..ca7711842 100644 --- a/utils/schedulercli.php +++ b/utils/schedulercli.php @@ -73,11 +73,16 @@ foreach($tasks as $task) { case "run": if(method_exists($taskobj, 'execute')) { if(!$task->getDisabled()) { - if($taskobj->execute($task, $dms)) { - add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful."); - $task->updateLastNextRun(); + if($user = $dms->getUserByLogin('cli_scheduler')) { + if($taskobj->execute($task, $dms, $user)) { + add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful."); + $task->updateLastNextRun(); + } else { + add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed, task has been disabled.", PEAR_LOG_ERR); + $task->setDisabled(1); + } } else { - add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed, task has been disabled.", PEAR_LOG_ERR); + add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed because of missing user 'cli_scheduler'. Task has been disabled.", PEAR_LOG_ERR); $task->setDisabled(1); } }