cron last visited

This commit is contained in:
Ulf Gebhardt 2014-12-12 03:51:15 +01:00
parent 8951d298b9
commit e84826e6d3
5 changed files with 30 additions and 13 deletions

View File

@ -26,7 +26,7 @@ class cron {
continue;} continue;}
//Status is ok? //Status is ok?
if($cron[\SYSTEM\DBD\system_cron::FIELD_STATUS] != \SYSTEM\CRON\cronstatus::CRON_STATUS_SUCCESFULLY){ if($cron[\SYSTEM\DBD\system_cron::FIELD_STATUS] != \SYSTEM\CRON\cronstatus::CRON_STATUS_SUCCESFULLY){
new \SYSTEM\LOG\CRON('Cron for Class '.$cron[\SYSTEM\DBD\system_cron::FIELD_CLASS].' could not execute cuz Status aint good: '. \SYSTEM\CRON\cronstatus::decode($cron[\SYSTEM\DBD\system_cron::FIELD_STATUS])); new \SYSTEM\LOG\CRON('Cron for Class '.$cron[\SYSTEM\DBD\system_cron::FIELD_CLASS].' could not execute cuz Status aint good: '. \SYSTEM\CRON\cronstatus::text($cron[\SYSTEM\DBD\system_cron::FIELD_STATUS]));
continue;} continue;}
//set running //set running
self::status($cron[\SYSTEM\DBD\system_cron::FIELD_CLASS], \SYSTEM\CRON\cronstatus::CRON_STATUS_RUNNING); self::status($cron[\SYSTEM\DBD\system_cron::FIELD_CLASS], \SYSTEM\CRON\cronstatus::CRON_STATUS_RUNNING);
@ -50,6 +50,9 @@ class cron {
} }
private static function status($class, $status){ private static function status($class, $status){
new \SYSTEM\LOG\CRON('Cron Status for Class '.$class.' updated to: '. \SYSTEM\CRON\cronstatus::decode($status)); new \SYSTEM\LOG\CRON('Cron Status for Class '.$class.' updated to: '. \SYSTEM\CRON\cronstatus::text($status));
return \SYSTEM\DBD\SYS_CRON_UPD::QI(array($status,time(),$class));} return \SYSTEM\DBD\SYS_CRON_UPD::QI(array($status,time(),$class));}
public static function last_visit(){
return \SYSTEM\DBD\SYS_CRON_LAST_VISIT::Q1()['time'];}
} }

View File

@ -9,19 +9,19 @@ class cronstatus {
const CRON_STATUS_USER_STATES = 99; const CRON_STATUS_USER_STATES = 99;
public static function decode($status){ public static function text($status){
switch($status){ switch($status){
case self::CRON_STATUS_SUCCESFULLY: case self::CRON_STATUS_SUCCESFULLY:
$status = 'CRON_STATUS_SUCCESFULLY'; $status = 'SUCCESFULLY';
break; break;
case self::CRON_STATUS_RUNNING: case self::CRON_STATUS_RUNNING:
$status = 'CRON_STATUS_RUNNING'; $status = 'RUNNING';
break; break;
case self::CRON_STATUS_FAIL: case self::CRON_STATUS_FAIL:
$status = 'CRON_STATUS_FAIL'; $status = 'FAIL';
break; break;
case self::CRON_STATUS_FAIL_CLASS: case self::CRON_STATUS_FAIL_CLASS:
$status = 'CRON_STATUS_FAIL_CLASS'; $status = 'FAIL_CLASS';
break; break;
} }
return $status; return $status;

View File

@ -0,0 +1,11 @@
<?php
namespace SYSTEM\DBD;
class SYS_CRON_LAST_VISIT extends \SYSTEM\DB\QQ {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'SELECT time FROM '.\SYSTEM\DBD\system_log::NAME_PG.' WHERE class = \'SYSTEM\LOG\WARNING\' ORDER BY time DESC LIMIT 1;',
//mys
'SELECT time FROM '.\SYSTEM\DBD\system_log::NAME_MYS.' WHERE class = "SYSTEM\\\\LOG\\\\CRON" ORDER BY time DESC LIMIT 1'
);}}

View File

@ -5,9 +5,11 @@ class saimod_sys_cron extends \SYSTEM\SAI\SaiModule {
public static function sai_mod__SYSTEM_SAI_saimod_sys_cron(){ public static function sai_mod__SYSTEM_SAI_saimod_sys_cron(){
$vars = array(); $vars = array();
$vars['content'] = ''; $vars['content'] = '';
$vars['last_visit'] = \SYSTEM\CRON\cron::last_visit();
$res = \SYSTEM\DBD\SYS_SAIMOD_CRON::QQ(); $res = \SYSTEM\DBD\SYS_SAIMOD_CRON::QQ();
while($r = $res->next()){ while($r = $res->next()){
$r['next'] = date('Y-m-d H:i:s',\SYSTEM\CRON\cron::next($r['class'])); $r['next'] = date('Y-m-d H:i:s',\SYSTEM\CRON\cron::next($r['class']));
$r['status'] = \SYSTEM\CRON\cronstatus::text($r['status']);
$vars['content'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tpl/list_entry.tpl'), $r);} $vars['content'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tpl/list_entry.tpl'), $r);}
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tpl/tabs.tpl'), $vars); return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tpl/tabs.tpl'), $vars);
} }

View File

@ -1,6 +1,7 @@
<div id="cron_wrapper"> <div id="cron_wrapper">
<h4>System Cron</h4> <h4>System Cron</h4>
<hr> <hr>
Last Visit: ${last_visit}
<div id="cron_content"> <div id="cron_content">
<table class="table table-hover table-condensed sai_table" style="overflow: auto;"> <table class="table table-hover table-condensed sai_table" style="overflow: auto;">
<tr> <tr>
@ -16,12 +17,12 @@
</tr> </tr>
${content} ${content}
<tr> <tr>
<td><input type="text" id="new_cron_class" placeholder="class" style="width: 140px;"></td> <td><input type="text" id="new_cron_class" placeholder="class" style="width: 200px;"></td>
<td><input type="text" id="new_cron_min" placeholder="min" style="width: 140px;"></td> <td><input type="text" id="new_cron_min" placeholder="min" style="width: 40px;"></td>
<td><input type="text" id="new_cron_hour" placeholder="hour" style="width: 140px;"></td> <td><input type="text" id="new_cron_hour" placeholder="hour" style="width: 40px;"></td>
<td><input type="text" id="new_cron_day" placeholder="day" style="width: 140px;"></td> <td><input type="text" id="new_cron_day" placeholder="day" style="width: 40px;"></td>
<td><input type="text" id="new_cron_day_week" placeholder="day_week" style="width: 140px;"></td> <td><input type="text" id="new_cron_day_week" placeholder="day_week" style="width: 40px;"></td>
<td><input type="text" id="new_cron_month" placeholder="month" style="width: 140px;"></td> <td><input type="text" id="new_cron_month" placeholder="month" style="width: 40px;"></td>
<td></td> <td></td>
<td></td> <td></td>
<td><button type="button" class="btn-small btn-success" id="addcron">Add</button></td> <td><button type="button" class="btn-small btn-success" id="addcron">Add</button></td>