public static function commitRemove($entityManager, $fullUrl) { // Obtain Lock File $mutex = fopen("/var/www/html/lock/.lock", "w"); if (!$mutex) { return array('mutex' => 'lock file failure'); } // Try To Obtain Permission $trial = 0; while (!flock($mutex, LOCK_EX)) { echo "\r\nRetrying\r\n"; sleep(1); $trial++; if ($trial >= 50) { // Clean-Up fclose($mutex); return array('mutex' => 'unable to get control permission'); } } //global $sequence; //$sequence ++; //echo "\r\n<<<<<<<<<< commitRemove " . $sequence . " === "; // Succeed To Get Control try { $result = SitesXMLManager::_commitRemove($entityManager, $fullUrl); } catch (Exception $e) { echo $e->getMessage() . "\r\n\r\n"; echo $e->getTraceAsString(); } $entityManager->flush(); // Clean-Up Anyway flock($mutex, LOCK_UN); fclose($mutex); //echo "commitRemove " . $sequence . " >>>>>>>>>>>\r\n"; return $result; }