public function Fail($server) {
      
      // Use APC?
      $apc = false;
      if (C('Garden.Apc', false) && function_exists('apc_fetch'))
         $apc = true;

      // Get the active cache name
      $activeCache = Gdn_Cache::ActiveCache();
      $activeCache = ucfirst($activeCache);
      $sctiveStoreKey = "Cache.{$activeCache}.Store";

      // Get the localstore
      $localStore = GetValue($activeCache, Gdn_Cache::$Stores, null);
      if (is_null($localStore)) {
         Gdn_Cache::ActiveStore();
         $localStore = GetValue($activeCache, Gdn_Cache::$Stores, null);
         if (is_null($localStore)) {
            return false;
         }
      }

      $storeServerName = md5($server);
      if (!array_key_exists($storeServerName, $localStore)) {
         return false;
      }

      $storeServer = &$localStore[$storeServerName];
      $isActive = &$storeServer['Active'];
      if (!$isActive) return false;

      $fails = &$storeServer['Fails'];
      $fails++;
      $active = $isActive ? 'active' : 'inactive';

      // Check if we need to deactivate for 5 minutes
      if ($isActive && $storeServer['Fails'] > 3) {
         $isActive = false;
         $storeServer['Delay'] = time() + Gdn_Cache::CACHE_EJECT_DURATION;
      }

      // Save
      Gdn_Cache::$Stores[$activeCache] = $localStore;
      
      // Save to APC
      if ($apc) {
         apc_store($sctiveStoreKey, $localStore, Gdn_Cache::APC_CACHE_DURATION);
      }
      
      return true;
   }
public function Fail($server) {
      
      // Use APC?
      $apc = false;
      if (C('Garden.Apc', false) && function_exists('apc_fetch'))
         $apc = true;

      // Get the active cache name
      $activeCache = Gdn_Cache::ActiveCache();
      $activeCache = ucfirst($activeCache);
      $sctiveStoreKey = "Cache.{$activeCache}.Store";

      // Get the localstore
      $localStore = GetValue($activeCache, Gdn_Cache::$Stores, null);
      if (is_null($localStore)) {
         Gdn_Cache::ActiveStore();
         $localStore = GetValue($activeCache, Gdn_Cache::$Stores, null);
         if (is_null($localStore)) {
            return false;
         }
      }

      $storeServerName = md5($server);
      if (!array_key_exists($storeServerName, $localStore)) {
         return false;
      }

      $storeServer = &$localStore[$storeServerName];
      $isActive = &$storeServer['Active'];
      if (!$isActive) return false;

      $fails = &$storeServer['Fails'];
      $fails++;
      $active = $isActive ? 'active' : 'inactive';

      // Check if we need to deactivate for 5 minutes
      if ($isActive && $storeServer['Fails'] > 3) {
         $isActive = false;
         $storeServer['Delay'] = time() + Gdn_Cache::CACHE_EJECT_DURATION;
      }

      // Save
      Gdn_Cache::$Stores[$activeCache] = $localStore;
      
      // Save to APC
      if ($apc) {
         apc_store($sctiveStoreKey, $localStore, Gdn_Cache::APC_CACHE_DURATION);
      }
      
      return true;
   }
public function Fail ( $ server ) { // Use APC? $ apc = false ; if ( C ( 'Garden.Apc' , false ) && function_exists ( 'apc_fetch' ) ) $ apc = true ; // Get the active cache name $ activeCache = Gdn_Cache :: ActiveCache ( ) ; $ activeCache = ucfirst ( $ activeCache ) ; $ sctiveStoreKey = "Cache.{$activeCache}.Store" ; // Get the localstore $ localStore = GetValue ( $ activeCache , Gdn_Cache :: $ Stores , null ) ; if ( is_null ( $ localStore ) ) { Gdn_Cache :: ActiveStore ( ) ; $ localStore = GetValue ( $ activeCache , Gdn_Cache :: $ Stores , null ) ; if ( is_null ( $ localStore ) ) { return false ; } } $ storeServerName = md5 ( $ server ) ; if ( ! array_key_exists ( $ storeServerName , $ localStore ) ) { return false ; } $ storeServer = & $ localStore [ $ storeServerName ] ; $ isActive = & $ storeServer [ 'Active' ] ; if ( ! $ isActive ) return false ; $ fails = & $ storeServer [ 'Fails' ] ; $ fails ++ ; $ active = $ isActive ? 'active' : 'inactive' ; // Check if we need to deactivate for 5 minutes if ( $ isActive && $ storeServer [ 'Fails' ] > 3 ) { $ isActive = false ; $ storeServer [ 'Delay' ] = time ( ) + Gdn_Cache :: CACHE_EJECT_DURATION ; } // Save Gdn_Cache :: $ Stores [ $ activeCache ] = $ localStore ; // Save to APC if ( $ apc ) { apc_store ( $ sctiveStoreKey , $ localStore , Gdn_Cache :: APC_CACHE_DURATION ) ; } return true ; }
Register a temporary server connection failure

This method will attempt to temporarily excise the offending server from
the connect roster for a period of time.

@param string $server
Register a temporary server connection failure