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; }