/**
* @param TaskHandler $task
* @param $period
*
* @return TimingsHandler
*/
public static function getPluginTaskTimings(TaskHandler $task, $period)
{
$ftask = $task->getTask();
if ($ftask instanceof PluginTask and $ftask->getOwner() !== null) {
$plugin = $ftask->getOwner()->getDescription()->getFullName();
} elseif ($task->timingName !== null) {
$plugin = "Scheduler";
} else {
$plugin = "Unknown";
}
$taskname = $task->getTaskName();
$name = "Task: " . $plugin . " Runnable: " . $taskname;
if ($period > 0) {
$name .= "(interval:" . $period . ")";
} else {
$name .= "(Single)";
}
if (!isset(self::$pluginTaskTimingMap[$name])) {
self::$pluginTaskTimingMap[$name] = new TimingsHandler($name, self::$schedulerSyncTimer);
}
return self::$pluginTaskTimingMap[$name];
}