- Logs Cron: Por defecto deberímostrar seleccionado el workspace actual - Problema resuelto, en ADMIN>Logs>Cron, se quita dropdown Workspace y de la columna el Workspace, lo que se muestra en el listado de logs es el workspace con el que se inicia session. Disponible para la version 2.8 de ProcessMaker.
92 lines
2.8 KiB
PHP
92 lines
2.8 KiB
PHP
<?php
|
|
G::LoadClass( "system" );
|
|
G::LoadClass( "wsTools" );
|
|
G::LoadClass( "configuration" );
|
|
|
|
global $RBAC;
|
|
|
|
if ($RBAC->userCanAccess("PM_SETUP") != 1) {
|
|
G::SendTemporalMessage("ID_USER_HAVENT_RIGHTS_PAGE", "error", "labels");
|
|
exit(0);
|
|
}
|
|
|
|
//Cron status
|
|
$bCronIsRunning = false;
|
|
$sLastExecution = null;
|
|
$processcTimeProcess = 0;
|
|
$processcTimeStart = 0;
|
|
|
|
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
|
|
if (file_exists(PATH_DATA . "cron")) {
|
|
//Windows flag
|
|
//Get data of cron file
|
|
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . "cron")));
|
|
|
|
$bCronIsRunning = (boolean)($arrayCron["bCronIsRunning"]);
|
|
$sLastExecution = $arrayCron["sLastExecution"];
|
|
$processcTimeProcess = (isset($arrayCron["processcTimeProcess"]))? (int)($arrayCron["processcTimeProcess"]) : 10; //Minutes
|
|
$processcTimeStart = (isset($arrayCron["processcTimeStart"]))? $arrayCron["processcTimeStart"] : 0;
|
|
}
|
|
|
|
if ($osIsLinux) {
|
|
//Linux flag
|
|
//Check if cron it's running
|
|
exec("ps -fea | grep cron.php | grep -v grep", $arrayOutput);
|
|
|
|
if (count($arrayOutput) > 0) {
|
|
$bCronIsRunning = true;
|
|
}
|
|
}
|
|
|
|
//if ($bCronIsRunning && $processcTimeStart != 0) {
|
|
// if ((time() - $processcTimeStart) > ($processcTimeProcess * 60)) {
|
|
// //Cron finished his execution for some reason
|
|
// $bCronIsRunning = false;
|
|
// }
|
|
//}
|
|
|
|
//Data
|
|
$c = new Configurations();
|
|
$configPage = $c->getConfiguration( "cronList", "pageSize", null, $_SESSION["USER_LOGGED"] );
|
|
|
|
$config = array ();
|
|
$config["pageSize"] = (isset( $configPage["pageSize"] )) ? $configPage["pageSize"] : 20;
|
|
|
|
$cronInfo = array ();
|
|
$fileLog = PATH_DATA . "log" . PATH_SEP . "cron.log";
|
|
$fileLogSize = (file_exists( $fileLog )) ? number_format( filesize( $fileLog ) * (1 / 1024) * (1 / 1024), 4, ".", "" ) : 0;
|
|
|
|
$cronInfo["status"] = G::LoadTranslation( (($bCronIsRunning) ? "ID_CRON_STATUS_ACTIVE" : "ID_CRON_STATUS_INACTIVE") );
|
|
$cronInfo["lastExecution"] = (! empty( $sLastExecution )) ? $sLastExecution : "";
|
|
$cronInfo["fileLogName"] = "cron.log";
|
|
$cronInfo["fileLogSize"] = $fileLogSize;
|
|
$cronInfo["fileLogPath"] = $fileLog;
|
|
|
|
//Workspaces
|
|
$workspaces = System::listWorkspaces();
|
|
$arrayAux = array ();
|
|
|
|
foreach ($workspaces as $index => $workspace) {
|
|
$arrayAux[] = $workspace->name;
|
|
}
|
|
|
|
sort( $arrayAux );
|
|
|
|
//Status
|
|
$arrayStatus = array (array ("ALL",G::LoadTranslation( "ID_ALL" )
|
|
),array ("COMPLETED",G::LoadTranslation( "COMPLETED" )
|
|
),array ("FAILED",G::LoadTranslation( "ID_FAILED" )
|
|
)
|
|
);
|
|
|
|
$oHeadPublisher = &headPublisher::getSingleton();
|
|
$oHeadPublisher->addContent( "setup/cron" ); //Adding a html file .html
|
|
$oHeadPublisher->addExtJsScript( "setup/cron", false ); //Adding a javascript file .js
|
|
$oHeadPublisher->assign( "CONFIG", $config );
|
|
$oHeadPublisher->assign( "CRON", $cronInfo );
|
|
$oHeadPublisher->assign( "STATUS", $arrayStatus );
|
|
|
|
G::RenderPage( "publish", "extJs" );
|
|
|