想象一个呼叫中心,每分钟不能被超过 2 个呼叫淹没的客户。因此,超出该范围的任何人都将获得电子邮件支持链接 ($bTrigger = FALSE)。其他所有人 ($bTrigger = TRUE) 都会获得技术支持电话号码。
脚本是PHP。那么,构建这个的最有效和最准确的方法是什么?
这是我到目前为止所拥有的,但不幸的是它每分钟只触发一次。我似乎无法弄清楚为什么它不会每分钟运行两次。
<?php
$bTrigger = FALSE;
$sDir = dirname(__FILE__);
$sDir = rtrim($sDir,'/');
$sFile = $sDir . '/MINUTE-TIMER.txt';
$sLine = @ file_get_contents($sFile);
$sLine = str_replace("\r\n",'',$sLine);
$sLine = str_replace("\r",'',$sLine);
$sLine = str_replace("\n",'',$sLine);
$sLine = str_replace("\t",'',$sLine);
$asParts = explode(',',$sLine);
$nLetThru = @ $asParts[0];
$nLetThru = intval($nLetThru);
$nLastMin = @ $asParts[1];
$nLastMin = intval($nLastMin);
$nCurMin = intval(date('i'));
if (empty($sLine)) {
$nLetThru = 0;
$nLastMin = 0;
}
$nMaxLetThru = 2;
if ($nCurMin != $nLastMin) { // meaning, a new minute since last checked
if ($nLetThru <= $nMaxLetThru) { // meaning, we haven't hit more than max allowed
$bTrigger = TRUE;
++$nLetThru;
file_put_contents($sFile,"$nLetThru,$nCurMin");
} else {
file_put_contents($sFile,"0,$nCurMin");
}
}
if ($bTrigger) {
echo 'TRIGGERED!!!!';
} else {
echo 'not triggered';
}