Example #1
0
 public function execute()
 {
     $this->last_run_at = DateUtils::now();
     $this->save();
     switch ($this->task_type) {
         case self::TYPE_SYNC:
             $sync = TopologySynchronizer::findOne($this->task_id);
             if ($sync) {
                 $sync->execute();
             } else {
                 $this->status = self::STATUS_DELETED;
                 $this->save();
             }
             break;
         case self::TYPE_TEST:
     }
 }
 private function getSynchronizer($notificationXml)
 {
     $parser = new NSIParser();
     $parser->loadXml($notificationXml);
     if ($parser->isTD()) {
         $parser->parseNotifications();
         Yii::trace($parser->getData());
         foreach ($parser->getData()['nots'] as $subId => $notsData) {
             $sync = TopologySynchronizer::find()->where(['provider_nsa' => $notsData['providerId']])->andWhere(['subscription_id' => $subId])->one();
             if ($sync) {
                 Yii::trace("achou sync ativo, sincronizando...");
                 $parser->parseTopology();
                 $sync->parser = $parser;
                 return $sync;
             }
             break;
             //VERIFICAR CASO EM QUE DUAS NOTIFICATIONS SAO RECEBIDAS NUMA MESMA MSG
         }
     }
     return null;
 }