mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-11 09:35:00 +00:00
use new method resolveTask()
This commit is contained in:
parent
af9dc81ba4
commit
b44a368d6d
|
@ -28,34 +28,34 @@ class SeedDMS_Controller_Cron extends SeedDMS_Controller_Common {
|
|||
$mode = 'run'; //$this->params['mode'];
|
||||
$db = $dms->getDb();
|
||||
|
||||
$scheduler = new SeedDMS_Scheduler($db);
|
||||
$tasks = $scheduler->getTasks();
|
||||
$scheduler = new SeedDMS_Scheduler($db);
|
||||
$tasks = $scheduler->getTasks();
|
||||
|
||||
foreach($tasks as $task) {
|
||||
if(isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()]) && is_object($taskobj = $GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()])) {
|
||||
switch($mode) {
|
||||
case "run":
|
||||
if(method_exists($taskobj, 'execute')) {
|
||||
if(!$task->getDisabled() && $task->isDue()) {
|
||||
if($user = $dms->getUserByLogin('cli_scheduler')) {
|
||||
if($taskobj->execute($task, $dms, $user, $settings)) {
|
||||
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 because of missing user 'cli_scheduler'. Task has been disabled.", PEAR_LOG_ERR);
|
||||
$task->setDisabled(1);
|
||||
foreach($tasks as $task) {
|
||||
if(isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()]) && is_object($taskobj = resolveTask($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()]))) {
|
||||
switch($mode) {
|
||||
case "run":
|
||||
if(method_exists($taskobj, 'execute')) {
|
||||
if(!$task->getDisabled() && $task->isDue()) {
|
||||
if($user = $dms->getUserByLogin('cli_scheduler')) {
|
||||
if($taskobj->execute($task)) {
|
||||
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 because of missing user 'cli_scheduler'. Task has been disabled.", PEAR_LOG_ERR);
|
||||
$task->setDisabled(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
} /* }}} */
|
||||
}
|
||||
|
|
|
@ -37,14 +37,14 @@ class SeedDMS_SchedulerTaskBase {
|
|||
|
||||
var $logger;
|
||||
|
||||
public function ____construct($dms, $user, $settings, $logger) { /* {{{ */
|
||||
public function __construct($dms=null, $user=null, $settings=null, $logger=null) { /* {{{ */
|
||||
$this->dms = $dms;
|
||||
$this->user = $user;
|
||||
$this->settings = $settings;
|
||||
$this->logger = $logger;
|
||||
} /* }}} */
|
||||
|
||||
public function execute($task, $dms, $user, $settings) { /* {{{ */
|
||||
public function execute($task) { /* {{{ */
|
||||
return true;
|
||||
} /* }}} */
|
||||
|
||||
|
|
|
@ -18,9 +18,13 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
|
|||
* @param $dms dms
|
||||
* @return boolean true if task was executed succesfully, otherwise false
|
||||
*/
|
||||
public function execute($task, $dms, $user, $settings) {
|
||||
public function execute($task) {
|
||||
$dms = $this->dms;
|
||||
$taskparams = $task->getParameter();
|
||||
$dms->getDocumentsExpired(intval($taskparams['days']));
|
||||
$docs = $dms->getDocumentsExpired(intval($taskparams['days']));
|
||||
foreach($docs as $doc) {
|
||||
echo $doc->getName()."\n";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -39,4 +43,4 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
|
|||
}
|
||||
} /* }}} */
|
||||
|
||||
$GLOBALS['SEEDDMS_SCHEDULER']['tasks']['core']['expireddocs'] = new SeedDMS_ExpiredDocumentsTask;
|
||||
$GLOBALS['SEEDDMS_SCHEDULER']['tasks']['core']['expireddocs'] = 'SeedDMS_ExpiredDocumentsTask';
|
||||
|
|
|
@ -68,7 +68,7 @@ $scheduler = new SeedDMS_Scheduler($db);
|
|||
$tasks = $scheduler->getTasks();
|
||||
|
||||
foreach($tasks as $task) {
|
||||
if(isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()]) && is_object($taskobj = $GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()])) {
|
||||
if(isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()]) && is_object($taskobj = resolveTask($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()]))) {
|
||||
switch($mode) {
|
||||
case "run":
|
||||
case "dryrun":
|
||||
|
@ -76,7 +76,7 @@ foreach($tasks as $task) {
|
|||
if(!$task->getDisabled() && $task->isDue()) {
|
||||
if($user = $dms->getUserByLogin('cli_scheduler')) {
|
||||
if($mode == 'run') {
|
||||
if($taskobj->execute($task, $dms, $user, $settings)) {
|
||||
if($taskobj->execute($task)) {
|
||||
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful.");
|
||||
$task->updateLastNextRun();
|
||||
} else {
|
||||
|
|
|
@ -99,8 +99,7 @@ $(document).ready( function() {
|
|||
$user = $this->params['user'];
|
||||
$extname = $this->params['extname'];
|
||||
$taskname = $this->params['taskname'];
|
||||
if($extname && $taskname) {
|
||||
$taskobj = $GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$extname][$taskname];
|
||||
if($extname && $taskname && is_object($taskobj = resolveTask($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$extname][$taskname]))) {
|
||||
if(method_exists($taskobj, 'getAdditionalParams'))
|
||||
$additionalparams = $taskobj->getAdditionalParams();
|
||||
else
|
||||
|
@ -204,6 +203,11 @@ $(document).ready( function() {
|
|||
}
|
||||
|
||||
$taskobj = $GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()];
|
||||
$taskobj = resolveTask($taskobj);
|
||||
if(!is_object($taskobj)) {
|
||||
$this->errorMsg(getMLText('task_class_not_callable'));
|
||||
return;
|
||||
}
|
||||
?>
|
||||
<form action="../op/op.SchedulerTaskMgr.php" method="post" class="form-horizontal">
|
||||
<?= createHiddenFieldWithKey('edittask') ?>
|
||||
|
@ -324,7 +328,7 @@ $(document).ready( function() {
|
|||
print "<th></th>\n";
|
||||
print "</tr></thead><tbody>\n";
|
||||
foreach($tasks as $task) {
|
||||
if(!isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()]))
|
||||
if(!isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()]) || !is_object(resolveTask($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()])))
|
||||
$class = 'error';
|
||||
else
|
||||
$class = 'success';
|
||||
|
@ -387,6 +391,9 @@ $(document).ready( function() {
|
|||
$errmsgs = array();
|
||||
foreach($GLOBALS['SEEDDMS_SCHEDULER']['tasks'] as $extname=>$tasks) {
|
||||
foreach($tasks as $taskname=>$task) {
|
||||
$task = resolveTask($task);
|
||||
if(!is_object($task))
|
||||
continue;
|
||||
echo "<tr>";
|
||||
echo "<td>";
|
||||
echo $extname."::".$taskname;
|
||||
|
|
Loading…
Reference in New Issue
Block a user