You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

53 lines
1.4 KiB

<?php
namespace app\Controllers;
use app\Core\Controller;
use app\Models\Queue;
use app\Models\EventQueue;
use app\Models\SupervisorQueue;
use Exception;
/**
* Description of SupervisorController
*
* @author root
*/
class SupervisorQueueController extends Controller
{
private $queue;
private $eventqueue;
private $supervisorqueue;
public function __construct()
{
$this->queue = new Queue();
$this->eventqueue = new EventQueue();
$this->supervisorqueue = new SupervisorQueue();
}
public function calcTimeAwait()
{
try {
$this->supervisorqueue->begin();
$queue = $this->queue->findAllQueue();
foreach ($queue as $q) {
$timewait = 0;
$count = 0;
$waits = $this->eventqueue->findAllEventByAwait($q->nome);
foreach ($waits as $w) {
$timewait += time() - $w->uid1;
$count++;
}
$this->supervisorqueue->updateEsperaByQueue($q->nome, $timewait, $count);
}
$this->supervisorqueue->commit();
return true;
} catch (Exception $ex) {
$this->supervisorqueue->rollback();
logger()->error($ex->getMessage());
}
return false;
}
}