protected function getsmsAction() { $lock = APPLICATION_PATH . '/../tmp/.build_sms'; $this->lockFile($lock); $this->_recipientColumn = 'phone_number'; $this->_dataModel = new WsPackageDataSms(); $this->_packageModel = new WsPackageSms(); $queueModel = new SmsQueue(); $db = $this->_dataModel->getDefaultAdapter(); try { $db->beginTransaction(); $data = $this->_getData(); if (!empty($data)) { foreach ($data as $package => $info) { foreach ($info as $d) { $insert[] = array('ws_package_id' => $package, 'phone_number' => $d['recipient'], 'message' => $d['message']); } } $queueModel->addQueue($insert, $this->_packageSize); $db->commit(); } } catch (Exception $e) { $this->_logger->log($e->getMessage() . " TRACE:" . $e->getTraceAsString(), Zend_Log::CRIT); $db->rollBack(); } }