Ejemplo n.º 1
0
 protected function run($idx)
 {
     $nk = Nosql::NK_ASYNC_SMS_QUEUE;
     $beginTime = time();
     do {
         do {
             $rawMsg = Nosql::lPop($nk);
             if ($rawMsg === false || !isset($rawMsg[0])) {
                 break;
             }
             $data = json_decode($rawMsg, true);
             $ret = SMS::firstSend($data['phone'], $data['content']);
             if ($ret === false) {
                 SMS::secondSend($data['phone'], $data['content']);
                 // 换成不同的运营商
             }
         } while (true);
         if (time() - $beginTime > 30) {
             // 30秒脚本重新执行一次
             break;
         }
         usleep(200000);
     } while (true);
 }