Skip to content
Snippets Groups Projects

Add running jobs

Merged Hahn Axel (hahn) requested to merge add-running-jobs into master
6 files
+ 62
39
Compare changes
  • Side-by-side
  • Inline

Files

+ 57
37
@@ -99,7 +99,7 @@ class cronlogrenderer extends cronlog{
@@ -99,7 +99,7 @@ class cronlogrenderer extends cronlog{
/**
/**
* get html code for a table with events of executed cronjobs
* get html code for a table with events of executed cronjobs
*
*
* @param array $aData result of $oCL->getServerLogs()
* @param array $aData result of $this->getServerLogs()
* @return string
* @return string
*/
*/
public function renderCronlogs($aData=false){
public function renderCronlogs($aData=false){
@@ -195,16 +195,24 @@ class cronlogrenderer extends cronlog{
@@ -195,16 +195,24 @@ class cronlogrenderer extends cronlog{
$sTtlHr=$sTtlHr ? '('.$sTtlHr.')' : '';
$sTtlHr=$sTtlHr ? '('.$sTtlHr.')' : '';
$sColStatus='';
$sColStatus='';
if (count($aErrors)){
$bIsRunning=false;
foreach($aErrors as $aErr){
if($aEntry['SCRIPTRC']){
$sColStatus.='<li><abbr title="'.$aErr[1].'">'.$this->t('status-error').': '.$aErr[0].'</abbr></li>';
if (count($aErrors)){
 
foreach($aErrors as $aErr){
 
$sColStatus.='<li><abbr title="'.$aErr[1].'">'.$this->t('status-error').': '.$aErr[0].'</abbr></li>';
 
}
 
$sColStatus='<ul>'.$sColStatus.'</ul>';
 
} else {
 
$sColStatus.=$this->t('status-ok');
}
}
$sColStatus='<ul>'.$sColStatus.'</ul>';
} else {
} else {
$sColStatus.=($aEntry['SCRIPTRC'] ? $this->t('status-ok') : '');
$bIsRunning=true;
 
$sColStatus.=$this->t('status-running');
}
}
// render table of last logfile per cron job
// render table of last logfile per cron job
$sHtml.='<tr onclick="showFile(\''.$aEntry['logfile'].'\');" title="'.sprintf($this->t('row-click-show-logfile'), $aEntry['logfile']).'">'
$sHtml.='<tr onclick="showFile(\''.$aEntry['logfile'].'\');" title="'.sprintf($this->t('row-click-show-logfile'), $aEntry['logfile']).'"'
 
.($bIsRunning ? ' class="message-running"' : '')
 
.'>'
. '<td>'.date("Y-m-d H:i:s", $aEntry['SCRIPTSTARTTIME']).'</td>'
. '<td>'.date("Y-m-d H:i:s", $aEntry['SCRIPTSTARTTIME']).'</td>'
// . '<td>'.$aEntry['SCRIPTNAME'].'</td>'
// . '<td>'.$aEntry['SCRIPTNAME'].'</td>'
. '<td>'.$aEntry['SCRIPTLABEL'].'</td>'
. '<td>'.$aEntry['SCRIPTLABEL'].'</td>'
@@ -246,29 +254,32 @@ class cronlogrenderer extends cronlog{
@@ -246,29 +254,32 @@ class cronlogrenderer extends cronlog{
. '<p class="hint">'
. '<p class="hint">'
. $this->t('logs-hint')
. $this->t('logs-hint')
. '</p>'
. '</p>'
. '<div>'
. (count($aData)
. $this->_renderAccessAndAge($iLast)
? '<div>'
. ($iErrors ? '<a href="#" class="btn bg-danger" onclick="'.$this->_filterDatatable($sIdTable, $this->t('status-error')).'"><i class="fas fa-exclamation-circle"></i> &nbsp; ' . $iErrors.'</a> ' : '')
. $this->_renderAccessAndAge($iLast)
. ( $iOK ? '<a href="#" class="btn bg-success" onclick="'.$this->_filterDatatable($sIdTable, $this->t('status-ok')).'"><i class="fas fa-check"></i> &nbsp; ' . $iOK.'</a>' : '')
. ($iErrors ? '<a href="#" class="btn bg-danger" onclick="'.$this->_filterDatatable($sIdTable, $this->t('status-error')).'"><i class="fas fa-exclamation-circle"></i> &nbsp; ' . $iErrors.'</a> ' : '')
. ($iErrors && $iOK ? ' ... '.$this->t('total').': <a href="#" class="btn bg-gray" onclick="'.$this->_filterDatatable($sIdTable, "").'"><i class="fas fa-th-large"></i> &nbsp; ' . count($aData).'</a>' : '' )
. ( $iOK ? '<a href="#" class="btn bg-success" onclick="'.$this->_filterDatatable($sIdTable, $this->t('status-ok')).'"><i class="fas fa-check"></i> &nbsp; ' . $iOK.'</a>' : '')
. '</div><br>'
. ($iErrors && $iOK ? ' ... '.$this->t('total').': <a href="#" class="btn bg-gray" onclick="'.$this->_filterDatatable($sIdTable, "").'"><i class="fas fa-th-large"></i> &nbsp; ' . count($aData).'</a>' : '' )
. '<table id="'.$sIdTable.'" class="table-striped">'
. '</div><br>'
. '<thead><tr>'.$sTblHead.'</tr></thead>'
. '<table id="'.$sIdTable.'" class="table-striped">'
. '<tbody>'
. '<thead><tr>'.$sTblHead.'</tr></thead>'
.$sHtml
. '<tbody>'
.'</tbody>'
.$sHtml
. '</table>'
.'</tbody>'
 
. '</table>'
 
. '<script>'
 
. '$(document).ready( function () { $(\'#'.$sIdTable.'\').DataTable({
 
"retrieve": true,
 
"bPaginate":false,
 
"aaSorting":[[0,"desc"]]
 
'.$this->_getDatatableLanguage().'
 
});
 
});'
 
. '</script>'
 
: ''
 
)
// init datatable
// init datatable
. '<script>'
. '$(document).ready( function () { $(\'#'.$sIdTable.'\').DataTable({
"retrieve": true,
"bPaginate":false,
"aaSorting":[[0,"desc"]]
'.$this->_getDatatableLanguage().'
});
});'
. '</script>'
. '
. '
<!-- ENDE '.__METHOD__.' -->
<!-- ENDE '.__METHOD__.' -->
@@ -278,11 +289,17 @@ class cronlogrenderer extends cronlog{
@@ -278,11 +289,17 @@ class cronlogrenderer extends cronlog{
return $sHtml;
return $sHtml;
}
}
 
/**
 
* get html code for a table with events of executed cronjobs for ALL servers
 
*
 
* @param array $aData result of $this->getServerLogs()
 
* @return string
 
*/
public function renderCronlogsOfAllServers(){
public function renderCronlogsOfAllServers(){
$aData=array();
$aData=array();
foreach (array_keys($this->getServers()) as $sServer){
foreach (array_keys($this->getServers()) as $sServer){
$this->setServer($sServer);
$this->setServer($sServer);
$aData=array_merge($aData, $this->getServersLastLog());
$aData=array_merge($aData, $this->getRunningJobs(),$this->getServersLastLog());
}
}
$this->setServer('ALL');
$this->setServer('ALL');
return $this->renderCronlogs($aData);
return $this->renderCronlogs($aData);
@@ -400,14 +417,17 @@ class cronlogrenderer extends cronlog{
@@ -400,14 +417,17 @@ class cronlogrenderer extends cronlog{
. '</table>'
. '</table>'
// init datatable
// init datatable
. '<script>'
. (count($aData)
. '$(document).ready( function () {$(\'#'.$sIdTable.'\').DataTable({
? '<script>'
"retrieve": true,
. '$(document).ready( function () {$(\'#'.$sIdTable.'\').DataTable({
"aaSorting":[[0,"desc"]],
"retrieve": true,
"aLengthMenu":[[25,100,-1],[25,100,"---"]]
"aaSorting":[[0,"desc"]],
'.$this->_getDatatableLanguage().'
"aLengthMenu":[[25,100,-1],[25,100,"---"]]
});} );'
'.$this->_getDatatableLanguage().'
. '</script>'
});} );'
 
. '</script>'
 
: ''
 
)
. '
. '
<!-- ENDE '.__METHOD__.' -->
<!-- ENDE '.__METHOD__.' -->
Loading