public function setProcessingLocks(Ess_M2ePro_Model_Processing_Request $processingRequest) { parent::setProcessingLocks($processingRequest); $this->account->addObjectLock(NULL, $processingRequest->getHash()); $this->account->addObjectLock('server_synchronize', $processingRequest->getHash()); $this->account->addObjectLock('deleting_from_server', $processingRequest->getHash()); }
public function process() { $this->setStatus(Ess_M2ePro_Helper_Data::STATUS_SUCCESS); $this->setIsProcessingItems(false); if (count($this->listingsProducts) <= 0) { return; } $this->setIsProcessingItems(true); $this->updateOrLockListings(); parent::process(); // When all items are failed in response isset($this->response['data']['messages']) && ($tempMessages = $this->response['data']['messages']); if (isset($tempMessages) && is_array($tempMessages) && count($tempMessages) > 0) { $this->setStatus(Ess_M2ePro_Helper_Data::STATUS_ERROR); } $this->checkUnlockListings(); }
public function setProcessingLocks(Ess_M2ePro_Model_Processing_Request $processingRequest) { parent::setProcessingLocks($processingRequest); if (!isset($this->params['items']) || !is_array($this->params['items'])) { return; } $ordersIds = array(); foreach ($this->params['items'] as $updateData) { if (!isset($updateData['order_id'])) { throw new LogicException('Order ID is not defined.'); } $ordersIds[] = (int) $updateData['order_id']; } /** @var Ess_M2ePro_Model_Order[] $orders */ $orders = Mage::getModel('M2ePro/Order')->getCollection()->addFieldToFilter('component_mode', Ess_M2ePro_Helper_Component_Play::NICK)->addFieldToFilter('id', array('in' => $ordersIds))->getItems(); foreach ($orders as $order) { $order->addObjectLock('update_shipping_status', $processingRequest->getHash()); } }
protected function getProcessingData() { return array_merge(parent::getProcessingData(), array('perform_type' => Ess_M2ePro_Model_Processing_Request::PERFORM_TYPE_PARTIAL)); }
public function process() { parent::process(); $this->deleteProcessedChanges(); }
public function process() { try { $this->getLogger()->setStatus(Ess_M2ePro_Helper_Data::STATUS_SUCCESS); $this->setIsProcessingItems(false); $this->filterLockedListingsProducts(); $this->lockListingsProducts(); $this->validateAndFilterListingsProducts(); // all products did not pass validation // no need to sent request to the server if (empty($this->listingsProducts)) { return; } $this->setIsProcessingItems(true); parent::process(); // When all items are failed in response if (!isset($this->response['data']['processing_id'])) { $this->getLogger()->setStatus(Ess_M2ePro_Helper_Data::STATUS_ERROR); } } catch (Exception $exception) { $this->unlockListingsProducts(); throw $exception; } $this->unlockListingsProducts(); }