GetCallbackAsText();
}
else
{
$Name = get_class($Callback[0]) . "::" . $Callback[1];
}
}
else
{
$Name= $Callback[0] . "::" . $Callback[1];
}
}
return $Name;
}
function GetTaskCallbackParameterString($Task)
{
$Parameters = $Task["Parameters"];
$String = NULL;
if (is_array($Parameters))
{
$Separator = "";
foreach ($Parameters as $Parameter)
{
$String .= $Separator;
if (is_int($Parameter) || is_float($Parameter))
{
$String .= $Parameter;
}
else if (is_string($Parameter))
{
$String .= "\"".htmlspecialchars($Parameter)."\"";
}
else if (is_array($Parameter))
{
$String .= "ARRAY";
}
else if (is_object($Parameter))
{
$String .= "OBJECT";
}
else if (is_null($Parameter))
{
$String .= "NULL";
}
else if (is_bool($Parameter))
{
$String .= $Parameter ? "TRUE" : "FALSE";
}
else if (is_resource($Parameter))
{
$String .= get_resource_type($Parameter);
}
else
{
$String .= "????";
}
$Separator = ", ";
}
}
return $String;
}
function GetTaskCrashInfo($Task)
{
$CrashInfo = NULL;
if (isset($Task["CrashInfo"]))
{
$CrashData = unserialize($Task["CrashInfo"]);
if (isset($CrashData["LastError"]))
{
$Error = $CrashData["LastError"];
$File = preg_replace(":".getcwd()."/:", "", $Error["file"]);
$Message = $Error["message"];
$Line = $Error["line"];
$CrashInfo = "ERROR: ".htmlspecialchars($Message)."
"
."FILE: ".$File."
"
."LINE: ".$Line;
if (isset($CrashData["REQUEST_URI"]))
{
$CrashInfo .= "
URI: "
.$CrashData["REQUEST_URI"];
}
if (isset($CrashData["ElapsedTime"]))
{
$CrashInfo .= "
ELAPSED: "
.gmdate("i:s", $CrashData["ElapsedTime"]);
}
if (isset($CrashData["FreeMemory"]))
{
$CrashInfo .= "
FREE: "
.sprintf("%.1F", (
$CrashData["FreeMemory"] / 1000000))
." MB";
}
}
}
return $CrashInfo;
}
function GetTaskLinks($Task)
{
$Links = NULL;
$Separator = "";
foreach ($Task["Links"] as $Label => $Link)
{
$Links .= '' . $Label . '';
}
return $Links;
}
function GetTaskCallbackString($Task)
{
$CallbackName = GetTaskCallbackName($Task);
$CallbackParameterString = GetTaskCallbackParameterString($Task);
return $CallbackName . "(" . $CallbackParameterString . ")";
}
function DisplayTask($Task, $DisplayStartedAt=FALSE, $DisplayLinks=FALSE)
{
$PriorityMapping = array(
ApplicationFramework::PRIORITY_HIGH => "High",
ApplicationFramework::PRIORITY_MEDIUM => "Medium",
ApplicationFramework::PRIORITY_LOW => "Low",
ApplicationFramework::PRIORITY_BACKGROUND => "Bkgrnd");
$TaskId = $Task["TaskId"];
$TaskPriority = $Task["Priority"];
$TaskDescription = $Task["Description"];
if ($DisplayStartedAt)
{
$TaskStartedAt = $Task["StartedAt"];
$StartFormat = (date("n/j", strtotime($TaskStartedAt)) == date("n/j"))
? "G:i:s" : "D n/j G:i:s";
}
if ($DisplayLinks)
{
$Links = GetTaskLinks($Task);
}
$CallbackString = GetTaskCallbackString($Task);
$Priority = $PriorityMapping[$TaskPriority];
$TitleAttribute = GetTaskCrashInfo($Task);
$Description = strip_tags($TaskDescription, "");
?>
GetRunningTaskList();
$RunningTaskCount = count($RunningTasks);
$QueuedTasks = $AF->GetQueuedTaskList($MaxTasksToDisplay);
$QueuedTaskCount = $AF->GetTaskQueueSize();
$OrphanedTasks = $AF->GetOrphanedTaskList($MaxTasksToDisplay);
$OrphanedTaskCount = $AF->GetOrphanedTaskCount();
$PeriodicEventInfo = $AF->GetKnownPeriodicEvents();
$PeriodicEventCount = count($PeriodicEventInfo);
function Compare_PeriodicEventInfo($A, $B)
{
return ($A["NextRun"] < $B["NextRun"]) ? -1 : 1;
}
usort($PeriodicEventInfo, "Compare_PeriodicEventInfo");
# add links to queued task info
foreach ($QueuedTasks as $TaskId => $Task)
{
$QueuedTasks[$TaskId]["Links"] = array(
"Del" => "index.php?P=TaskQueue&ID=".$TaskId."&AC=DELETE",
"Run" => "index.php?P=TaskQueue&ID=".$TaskId."&AC=RUN");
}
# add links to orphaned task info
foreach ($OrphanedTasks as $TaskId => $Task)
{
$OrphanedTasks[$TaskId]["Links"] = array(
"Que" => "index.php?P=TaskQueue&ID=".$TaskId."&AC=REQUEUE",
"Del" => "index.php?P=TaskQueue&ID=".$TaskId."&AC=DELETE",
"Run" => "index.php?P=TaskQueue&ID=".$TaskId."&AC=RUN");
}
?>
0) { ?>
Task ID
Callback
Description
Priority
Started
Actions
Running Tasks
currently running
currently queued count($QueuedTasks)) { print " (first ".$MaxTasksToDisplay." displayed)"; } ?>
0) { ?>currently orphaned count($OrphanedTasks)) { print " (first ".$MaxTasksToDisplay." displayed)"; } ?> Requeue All
periodic found
Callback | Frequency | Last Run | Next Queued | Actions |
---|---|---|---|---|