public function run2($id, $q)
 {
     $status = Gorilla_Queue_Model_Queue::STATUS_OPEN;
     $order = Mage::getModel('sales/order')->loadByIncrementId($id);
     $this->orderQueuelog('get by order increment id ');
     $orderId = is_object($order) ? $order->getId() : null;
     if (!is_object($order) || empty($orderId)) {
         $this->orderQueuelog('didnt work. get by order id instead.');
         $order = Mage::getModel('sales/order')->load($id);
     }
     $orderId = is_object($order) ? $order->getId() : null;
     if (!is_object($order) || empty($orderId)) {
         $status = Gorilla_Queue_Model_Queue::STATUS_ABORTED;
         $q->releaseLock($status);
         return $q;
     }
     $gp = new Gorilla_Greatplains_Model_Soap();
     $this->orderQueuelog(print_r($order->getData(), true));
     $no = $gp->createNewOrder($order);
     $orderCreationResponse = $no;
     Mage::log("gp->createNeOrder({$id})", null, 'fed.log', true);
     $error = $no->getErrors();
     //Mage::log($orderCreationResponse, null, 'fed.log', true);
     $no = !empty($no->_return) && !empty($no->_return[0]) ? $no->_return[0]->CreateNewOrderResult : '';
     $pos = stripos($no, "Success");
     Mage::log('no 2' . $no, null, 'fed.log', true);
     if ($pos === false) {
         /**
          * Add soap request and response logging
          */
         $soapClient = $gp->getSoapClient();
         if ($soapClient instanceof SoapClient) {
             $q->setSoapRequest($soapClient->__getLastRequest());
         }
         if ($soapClient->__getLastResponse()) {
             $q->setErrorMessage($error);
             $q->setSoapResponse($soapClient->__getLastResponse());
         } else {
             $q->setErrorMessage($orderCreationResponse->_return[0]);
             $q->setSoapResponse($orderCreationResponse->_return[0]);
         }
         $q->updateFailedAttempt();
         //$q->setShortDescription($error);
         $status = Gorilla_Queue_Model_Queue::STATUS_PROCESSING;
         Mage::log('Export failed:', null, 'fed.log', true);
         Mage::log($no, null, 'fed.log', true);
     } else {
         Mage::log('in success', null, 'fed.log', true);
         $q->setErrorMessage($error);
         /**
          * Add soap request and response logging
          */
         $soapClient = $gp->getSoapClient();
         if ($soapClient instanceof SoapClient) {
             $q->setSoapRequest($soapClient->__getLastRequest());
             $q->setSoapResponse($soapClient->__getLastResponse());
         }
         Mage::log('Success orderId=' . $orderId . ' return=' . $no->_return[0]->CreateNewOrderResult, null, 'fed.log', true);
         $q->updateSuccessfulAttempt();
         $status = Gorilla_Queue_Model_Queue::STATUS_SUCCESS;
     }
     Mage::log("releaseLock({$status}) order={$id}", null, 'fed.log', true);
     $q->releaseLock($status);
     return $q;
 }