Ejemplo n.º 1
0
<?php

require_once 'config.def.php';
require_once 'dvipc.php';
echo date_timestamp_get(date_create()) . "\n";
$event['type'] = 'idle';
$ipc = new DVIPCSys();
$ipc->invokeEvent($event);
Ejemplo n.º 2
0
<?php

require_once 'dvipc.php';
$ipcsys = new DVIPCSys();
$event['obj'] = 'aaa';
$ipcsys->register('asdf');
print_r($ipcsys->listenForEvent());
//$this->putEnvToBus("aaaa", "aaaaval");
//print "env: ".$this->getEnvFromBus("aaaa")."\n";
//$this->removeEnvFromBus("aaaa");
//  		$this->putToQueue("aa", "aaa1");
//  		$this->putToQueue("aa", "aaa2");
//  		$this->putToQueue("aa", "aaa3");
//  		$this->putToQueue("aa", "aaa4");
//  		$this->putToQueue("aa", "aaa5");
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
Ejemplo n.º 3
0
 private function listenForEvents($inp, $user, $sess)
 {
     $need = $inp['obj']['need'];
     if (isset($inp['obj']['qid'])) {
         $queueid = $inp['obj']['qid'];
     } else {
         $queueid = '';
     }
     $sid = $inp['sid'];
     $needsendqid = false;
     if (!isValidMd5($queueid)) {
         $queueid = randHash();
         $needsendqid = true;
     }
     $sysipc = new DVIPCSys();
     $useripc = new DVIPCUser($sid);
     $sysipc->registerIPC($sid);
     $useripc->register($queueid);
     $sysevent = $useripc->listenForEvent();
     if ($sysevent['type'] == 'idle') {
         if ($needsendqid) {
             $sysevent['qid'] = $queueid;
         }
         $ret['objs']['event'] = $sysevent;
         $ret['result'] = 'success';
         return $ret;
     }
     //check tags
     $systags = $sysevent['tags'];
     $systagsarr = explode(' ', $systags);
     unset($need['_isarr']);
     foreach ($need as $ind => $tags) {
         $needtags = $tags['tags'];
         $needtagsarr = explode(' ', $needtags);
         if (count($needtagsarr) > 0) {
             if ($needtagsarr == array_values(array_intersect($systagsarr, $needtagsarr))) {
                 $clevent = $sysevent;
                 $systagsarr['_isarr'] = '_isarr';
                 $clevent['tags'] = $systagsarr;
                 if (isset($clevent['objs'])) {
                     // 					$filter = new DvObjFilter();
                     // 					$clevent['objs'] = $filter->filter($clevent['objs'], $user, $clevent['tags']);
                 }
                 if ($needsendqid) {
                     $clevent['qid'] = $queueid;
                 }
                 $ret['objs']['event'] = $clevent;
                 $ret['result'] = 'success';
                 return $ret;
             }
         }
     }
     return $this->listenForEvents($inp, $user, $sess);
 }
Ejemplo n.º 4
0
<?php

require_once 'dvipc.php';
$ipcsys = new DVIPCSys();
$event['obj'] = 'aaa';
$ipcsys->invokeEvent($event);
//$this->putEnvToBus("aaaa", "aaaaval");
//print "env: ".$this->getEnvFromBus("aaaa")."\n";
//$this->removeEnvFromBus("aaaa");
//  		$this->putToQueue("aa", "aaa1");
//  		$this->putToQueue("aa", "aaa2");
//  		$this->putToQueue("aa", "aaa3");
//  		$this->putToQueue("aa", "aaa4");
//  		$this->putToQueue("aa", "aaa5");
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";
//  		print "queue: ".$this->getFromQueue("aa")."\n";