Example #1
0
 /**
  * Process integration synchronization
  * By default, if $connector is empty, will process all connectors of given integration
  *
  * @param Integration $integration Integration object
  * @param string      $connector   Connector name
  * @param array       $parameters  Connector additional parameters
  *
  * @return boolean
  */
 public function process(Integration $integration, $connector = null, array $parameters = [])
 {
     if (!$integration->isEnabled()) {
         $this->logger->error(sprintf('Integration "%s" with type "%s" is not enabled. Cannot process synchronization.', $integration->getName(), $integration->getType()));
         return false;
     }
     $callback = null;
     if ($connector) {
         $callback = function ($integrationConnector) use($connector) {
             return $integrationConnector === $connector;
         };
     }
     return $this->processConnectors($integration, $parameters, $callback);
 }
 /**
  * @return string
  */
 public function getChannelName()
 {
     return $this->channel ? $this->channel->getName() : null;
 }
Example #3
0
 /**
  * @param OutputLogger $logger
  * @param Integration $integration
  * @param int|null $batchSize
  * @param $connector
  * @param $connectorParameters
  *
  * @return int
  */
 protected function processIntegration(OutputLogger $logger, Integration $integration, $batchSize, $connector, $connectorParameters)
 {
     try {
         $logger->notice(sprintf('Run sync for "%s" integration.', $integration->getName()));
         $this->updateToken($integration);
         if ($batchSize) {
             $integration->getTransport()->getSettingsBag()->set('page_size', $batchSize);
         }
         $processor = $this->getSyncProcessor($integration, $logger);
         $result = $processor->process($integration, $connector, $connectorParameters);
         $exitCode = $result ?: self::STATUS_FAILED;
     } catch (\Exception $e) {
         $logger->critical($e->getMessage(), ['exception' => $e]);
         $exitCode = self::STATUS_FAILED;
     }
     return $exitCode;
 }