123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- <?php
- class IndexAction extends Action {
-
-
- public function index( ){
- Vendor('Workerman352.Autoloader');
- $tcp_worker = new Workerman\Worker("tcp://0.0.0.0:20160");
-
- Workerman\Worker::runAll();//保持运行
- }
-
-
- public function test( ){
- $this->redis_vsignal = Redis("fdzs_vsignal_{no}","zset")->prefix('fdzs_vsignal_');
- $where = array( 0,time());
- $vehicle = '864127124d17';
- $list = $this->redis_vsignal->table($vehicle)->where($where)->select();
- $sum = 0;
- $count = 0;
- foreach($list as $signal => $time){
- $signal = json_decode($signal,true);
- $sum += $signal['Rssi'];
- $count++;
- }
- if(!$count){
- return false;
- }
- $avgRssi = $sum/$count;
- echo '$avgRssi = '.$avgRssi.PHP_EOL;
- return $avgRssi;
- var_dump($list);exit;
- $alarm_info['ID'] = create_guid();
-
- $result = M('rchy_alarm')->createAdd($alarm_info);
- var_dump($result);exit;
- $this->redis_vsignal = Redis("rchy_vsignal_{no}","zset")->prefix('fdzs_vsignal_');
- /*
- //模拟插入信号数据
- for($i=0;$i<5;$i++){
- $row = array();
- $row['VehicleNumber'] = 'FFFF11112222';
- $row['StationCode'] = 'A11066';
- $row['rssi'] = 60+$i;
- $row['Timestamp'] = time();
- $vehicle_no = strtolower($row['VehicleNumber']);
- $signal = array(
- 'StationCode' => $row['StationCode'],
- 'Rssi' => $row['rssi'],
- 'Timestamp' => $row['Timestamp']
- );
- $data = array( json_encode($signal) => $row['Timestamp'] );
- $this->redis_vsignal->table($vehicle_no)->add($data);
- echo 'insert '.$i.PHP_EOL;
- sleep(1);
- }
- */
- $rchy_alarm_list = Redis("rchy_alarm_list","queue");
- $alarm_info = $rchy_alarm_list->pop();
- var_dump($alarm_info);exit;
- $time = time();
- while(time() - $time<60){
- $vehicle_no = strtolower('864127129ac7');
- $last_signal = $this->redis_vsignal->table($vehicle_no)->max();
- var_dump($last_signal);
- }
- exit;
-
- //输出轨迹查询结果
- $vehicle_no = strtolower('FFFF11112222');
- $now = time();
- $cond = array($now-60,$now);
- $cond = array(1531208748,$now);
- $cond = array(0,$now);
- $first_info = $this->redis_vsignal->table($vehicle_no)->where($cond)->min();
- echo $first_info[1].PHP_EOL;
- var_dump($first_info);exit;
-
- $last_info = $this->redis_vsignal->table($vehicle_no)->where($cond)->max();
- var_dump($last_info);exit;
- $signal_list = $this->redis_vsignal->table($vehicle_no)->where($cond)->select();
-
- //var_dump($signal_list);
- $list = array();
- foreach($signal_list as $key=>$row){
- $signal = json_decode($key,true);
- if(!$signal){
- return false;
- }
- $list[] = $signal;
- }
- var_dump($list);
-
- /*
- 输出结果:按分数升序
- array(3) {
- ["{"StationCode":"A11066","Rssi":62,"Timestamp":1531208748}"]=>
- float(1531208748)
- ["{"StationCode":"A11066","Rssi":63,"Timestamp":1531208749}"]=>
- float(1531208749)
- ["{"StationCode":"A11066","Rssi":64,"Timestamp":1531208750}"]=>
- float(1531208750)
- }
-
- */
- }
-
- }
|