/** * Interface for the Queue. * * @param \Varien_Object $queueEvent * @return bool */ public function assignSerialsFromQueue(Varien_Object $queueEvent) { $queueItem = $queueEvent->getQueueItem(); if ($queueItem->testAndSetLock()) { $orderItem = Mage::getModel('sales/order_item')->load($queueEvent->getOrderItemId()); $downloadableCollection = Mage::getModel('ecodes/downloadable')->getCollection(); $downloadableCollection->setInfo('queue_item', $queueItem); if ($downloadableCollection->assignSerials($orderItem)) { $queueItem->releaseLock(Gorilla_Queue_Model_Queue::STATUS_SUCCESS); return $this; } $queueItem->releaseLock(Gorilla_Queue_Model_Queue::STATUS_OPEN); } }