毎分 2 件を超える電話で顧客が殺到することのないコール センターを想像してみてください。そのため、その範囲外のユーザーには、電子メール サポート リンク ($bTrigger = FALSE) が送信されます。他の全員 ($bTrigger = TRUE) は、技術サポートの電話番号を取得します。
スクリプトはPHPです。では、これを構築する最も効率的で正確な方法は何ですか?
これは私がこれまでに持っているものですが、残念ながら1分に1回しかトリガーされません. 1分間に2回実行されない理由がわかりません。
<?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';
}