本文整理汇总了PHP中eqLogic::byTimeout方法的典型用法代码示例。如果您正苦于以下问题:PHP eqLogic::byTimeout方法的具体用法?PHP eqLogic::byTimeout怎么用?PHP eqLogic::byTimeout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eqLogic
的用法示例。
在下文中一共展示了eqLogic::byTimeout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkAlive
public static function checkAlive()
{
foreach (eqLogic::byTimeout(1, true) as $eqLogic) {
$sendReport = false;
$cmds = $eqLogic->getCmd();
foreach ($cmds as $cmd) {
if ($cmd->getEventOnly() == 1) {
$sendReport = true;
}
}
$logicalId = 'noMessage' . $eqLogic->getId();
if ($sendReport) {
$noReponseTimeLimit = $eqLogic->getTimeout();
if (count(message::byPluginLogicalId('core', $logicalId)) == 0) {
if ($eqLogic->getStatus('lastCommunication', date('Y-m-d H:i:s')) < date('Y-m-d H:i:s', strtotime('-' . $noReponseTimeLimit . ' minutes' . date('Y-m-d H:i:s')))) {
$message = __('Attention', __FILE__) . ' ' . $eqLogic->getHumanName();
$message .= __(' n\'a pas envoyé de message depuis plus de ', __FILE__) . $noReponseTimeLimit . __(' min (vérifier les piles)', __FILE__);
message::add('core', $message, '', $logicalId);
foreach ($cmds as $cmd) {
if ($cmd->getEventOnly() == 1) {
$cmd->event('error::timeout');
}
}
}
} else {
if ($eqLogic->getStatus('lastCommunication', date('Y-m-d H:i:s')) > date('Y-m-d H:i:s', strtotime('-' . $noReponseTimeLimit . ' minutes' . date('Y-m-d H:i:s')))) {
foreach (message::byPluginLogicalId('core', $logicalId) as $message) {
$message->remove();
}
}
}
}
}
}