Esempio n. 1
0
 /**
  * @return int unique id per request
  */
 public function getUniqueRequestId()
 {
     if (!is_null(self::$uniqueRequestId)) {
         return self::$uniqueRequestId;
     }
     $dcId = kDataCenterMgr::getCurrentDcId();
     for ($i = 0; $i < 10; ++$i) {
         $requestId = $dcId . '_' . kString::generateStringId();
         $exists = AuditTrailPeer::retrieveByRequestId($requestId);
         if (!$exists) {
             self::$uniqueRequestId = $requestId;
             return self::$uniqueRequestId;
         }
     }
     throw new kAuditTrailException('Unable to generate unique id', kAuditTrailException::UNIQUE_ID_NOT_GENERATED);
 }