function queue_waiting_checkStatus($module_name, $smarty, $sDirLocalPlantillas, $oPaloConsola) { $respuesta = array(); ignore_user_abort(true); set_time_limit(0); $sModoEventos = getParameter('serverevents'); $bSSE = !is_null($sModoEventos) && $sModoEventos; if ($bSSE) { Header('Content-Type: text/event-stream'); printflush("retry: 1\n"); } else { Header('Content-Type: application/json'); } $flag = array(); global $arrConf; $oQueueStatus = new queue_waiting(); $oQueueStatus->callcenter_db_connect($arrConf['cadena_dsn']); $iTimeoutPoll = PaloSantoConsola::recomendarIntervaloEsperaAjax(); do { $iTimestampInicio = time(); session_commit(); while (connection_status() == CONNECTION_NORMAL && time() - $iTimestampInicio < $iTimeoutPoll) { $respuesta = $oQueueStatus->showQueue(); //if (compareQueueArr($respuesta,$flag)){ if (count($respuesta) != count($flag)) { $flag = $respuesta; jsonflush($bSSE, $respuesta); break; } usleep(1000); } //$respuesta = array(); } while ($bSSE && connection_status() == CONNECTION_NORMAL); $oQueueStatus->callcenter_db_disconnect(); }
<?php $arrConf['cadena_dsn'] = "mysql://*****:*****@localhost/call_center"; require "queue_waiting2.class.php"; $o = new queue_waiting(); $o->callcenter_db_connect($arrConf['cadena_dsn']); var_dump($o->showQueue());