コード例 #1
0
 protected function listenDLTorrentTemp($cycle = 1)
 {
     $this->_logger->log(__METHOD__, array('cycle' => $cycle));
     $this->_connector->setParams(array('timeout' => 60));
     ListenerProcess::addComment($this->listener->listener_id, 'comment', 'Opening COM connection');
     $messages = null;
     $process = $this;
     $logger = $process->_logger;
     $this->_connector->onReceiveMessage = function ($message) use(&$process, &$logger) {
         //            $logger->log(__METHOD__ . ' New message', array('message' => $message, 'listener_id' => $process->listener->listener_id, 'overwrite' => $process->settings->overwrite_data_on_listening));
         //
         //            $messageId = ListenerLogTemp::addNew($message, $process->listener->listener_id, $process->settings->overwrite_data_on_listening, 'datalogger');
         //
         //            ListenerProcess::addComment($process->listener->listener_id, 'comment', 'got msg #' . $messageId);
         $logger->log(__METHOD__ . ' New message', array('message' => $message, 'listener_id' => $process->listener->listener_id, 'overwrite' => $process->settings->overwrite_data_on_listening));
         if (is_null(SMSCommand::setResponse($message))) {
             $this->_logger->log(__METHOD__ . ' Message type: ' . 'default');
             $messageId = ListenerLog::addNew($message, $process->listener->listener_id, $process->settings->overwrite_data_on_listening, 'datalogger');
             ListenerProcess::addComment($process->listener->listener_id, 'comment', 'got msg #' . $messageId);
         } else {
             $this->_logger->log(__METHOD__ . ' Message type: ' . 'sms command');
         }
     };
     $result = $this->_connector->readData($messages);
     $this->_logger->log(__METHOD__ . ' Complete listen datalogger.', array('cycle' => $cycle, 'result' => $result));
 }
コード例 #2
0
 public function run()
 {
     ListenerProcess::addComment($this->listener->listener_id, 'comment', 'going to start listening for SMS messages, source= ' . $this->source);
     $this->_connector->onReceiveMessages = function ($messages) {
         ListenerProcess::addComment($this->listener->listener_id, 'comment', 'found ' . count($messages) . ' messages at modem');
     };
     $this->_connector->onReceiveMessage = function ($message, $stationId) {
         $this->_logger->log(__CLASS__ . ' ' . __METHOD__ . ' Found message at modem: ' . $message);
         /**
          * if message is not response by sms command
          * then use default function
          */
         if (is_null(SMSCommand::setResponse($message))) {
             $this->_logger->log(__CLASS__ . ' ' . __METHOD__ . ' Message type: ' . 'default');
             //                $messageId = ListenerLog::addNew($message, $this->listener->listener_id, $this->settings->overwrite_data_on_listening, $stationId);
             $messageId = ListenerLogTemp::addNew($message, $this->listener->listener_id, $this->settings->overwrite_data_on_listening, $stationId);
             ListenerProcess::addComment($this->listener->listener_id, 'comment', 'Found message at modem, message id:' . $messageId . ', message: ' . $message);
         } else {
             $this->_logger->log(__CLASS__ . ' ' . __METHOD__ . ' Message type: ' . 'sms command');
         }
     };
     $i = 0;
     $SMSCOMPort = new SMSCOMPort();
     // For send sms command
     //$SMSCOMPort->COM;
     //$com = yii::app()->params['com_for_send_sms_command'];
     if ($this->source == $SMSCOMPort->COM) {
         ListenerProcess::addComment($this->listener->listener_id, 'sms_command', 'going to start send SMS command, source= ' . $this->source);
         while (true) {
             if ($this->synchronization->isMaster()) {
                 $this->grabModemMessages($i++);
                 $this->sendSMSByModem($i);
             }
             sleep(20);
         }
     } else {
         while (true) {
             if ($this->synchronization->isMaster()) {
                 $this->grabModemMessages($i++);
             }
             sleep(20);
         }
     }
 }
コード例 #3
0
 function actionIndex()
 {
     SMSCommand::setResponse('@BAWS01DTOK234567890BV11267558E9F6$');
     //        SMSCommand::setResponse('@BAWS01DTFAILE3290CA6$');
 }