예제 #1
0
 public function runSync()
 {
     $helper = Mage::helper('unityreports');
     if (!$helper->isActive()) {
         $helper->debug('Sync is deactivated');
         return false;
     }
     try {
         $client = $this->_getClient();
         //add some tracing
         if (function_exists('newrelic_add_custom_parameter')) {
             newrelic_add_custom_parameter(sync_type, self::ENTITY_TYPE);
             newrelic_add_custom_parameter(sync_max, Intelivemetrics_Unityreports_Model_Utils::getMaxItemsPerSync());
         }
         // get data
         $abcarts = $this->_getData(Intelivemetrics_Unityreports_Model_Utils::getMaxItemsPerSync());
         if (is_null($abcarts)) {
             return self::NOTHING_TO_SYNC;
         }
         //get token
         $response = json_decode($client->getToken($helper->getApiKey(), $helper->getApiSecret(), $helper->getLicenseKey()));
         if ($response->code != 'OK') {
             $helper->debug('Cannot get a valid Token.' . $response->msg);
             return false;
         }
         //see bellow, we don't mark them at this stage, but earlier
         $this->markSentItems($abcarts);
         //send data
         $blob = Intelivemetrics_Unityreports_Model_Utils::prepareDataForSending($abcarts);
         $client->post($response->msg, array('type' => 'SYNC', 'data' => $blob, 'license' => $helper->getLicenseKey(), 'entity' => self::ENTITY_TYPE));
         $helper->debug('Sending ' . count($abcarts) . ' ' . self::ENTITY_TYPE);
         return true;
     } catch (Exception $e) {
         $helper->debug($e, Zend_Log::ERR);
         $helper->debug('FILE: ' . __FILE__ . 'LINE: ' . __LINE__);
         return false;
     }
 }
예제 #2
0
 public function runSync()
 {
     $helper = Mage::helper('unityreports');
     if (!$helper->isActive()) {
         $helper->debug('Sync is deactivated');
         return false;
     }
     try {
         $client = $this->_getClient();
         //add some tracing
         if (function_exists('newrelic_add_custom_parameter')) {
             newrelic_add_custom_parameter('sync_type', $this->_getEntityType());
             newrelic_add_custom_parameter('sync_max', Intelivemetrics_Unityreports_Model_Utils::getMaxItemsPerSync());
         }
         //get data
         $data = $this->_getData(Intelivemetrics_Unityreports_Model_Utils::getMaxItemsPerSync());
         if (is_null($data)) {
             return self::NOTHING_TO_SYNC;
         }
         //get token
         $response = json_decode($client->getToken($helper->getApiKey(), $helper->getApiSecret(), $helper->getLicenseKey()));
         if ($response->code != 'OK') {
             $helper->debug('Cannot get a valid Token.' . $response->msg);
             return false;
         }
         $token = $response->msg;
         //send data
         $blob = Intelivemetrics_Unityreports_Model_Utils::prepareDataForSending($data);
         $response = json_decode($client->post($token, array('type' => 'SYNC', 'data' => $blob, 'license' => $helper->getLicenseKey(), 'entity' => $this->_getEntityType())));
         $helper->debug('Sending ' . count($data) . ' ' . $this->_getEntityType());
         //mark sent items
         if ($response->code == 'OK') {
             $this->markSentItems($data);
         }
         return true;
     } catch (Exception $e) {
         $helper->debug($e, Zend_Log::ERR);
         return false;
     }
 }