Пример #1
0
 /**
  * newManager.
  *
  * @param int $validAdaptersCount
  * @param int $invalidAdaptersCount
  * @param int $ttl
  * @param int $retries
  * @param int $retryMaxDelay
  *
  * @return LockManager
  */
 private function newManager($validAdaptersCount = 1, $invalidAdaptersCount = 0, $ttl = 60, $retries = 3, $retryMaxDelay = 1)
 {
     $manager = new LockManager(new HalfPlusOneQuorum(), new DefaultKeyGenerator(), new LockTypeManager(), $ttl, $retries, $retryMaxDelay);
     $count = count($this->validAdapters);
     if ($validAdaptersCount < $count) {
         $count = $validAdaptersCount;
     }
     foreach ($this->validAdapters as $key => $value) {
         if ($count == 0) {
             break;
         }
         $count--;
         $manager->addAdapter(new PredisAdapter(new \Predis\Client(array('host' => $value['host'], 'port' => $value['port'], 'timeout' => $value['timeout'], 'async' => $value['async']))));
     }
     $count = count($this->invalidAdapters);
     if ($invalidAdaptersCount < $count) {
         $count = $invalidAdaptersCount;
     }
     foreach ($this->invalidAdapters as $key => $value) {
         if ($count == 0) {
             break;
         }
         $count--;
         $manager->addAdapter(new PredisAdapter(new \Predis\Client(array('host' => $value['host'], 'port' => $value['port'], 'timeout' => $value['timeout']))));
     }
     $manager->releaseAllLocks();
     $manager->clearAllLocks();
     return $manager;
 }
Пример #2
0
 /**
  * newManager.
  *
  * @param int $validAdaptersCount
  * @param int $invalidAdaptersCount
  * @param int $ttl
  * @param int $retries
  * @param int $retryMaxDelay
  *
  * @return LockManager
  */
 private function newManager($validAdaptersCount = 1, $invalidAdaptersCount = 0, $ttl = 60, $retries = 3, $retryMaxDelay = 1)
 {
     $manager = new LockManager(new HalfPlusOneQuorum(), new DefaultKeyGenerator(), new LockTypeManager(), $ttl, $retries, $retryMaxDelay);
     $count = count($this->validAdapters);
     if ($validAdaptersCount < $count) {
         $count = $validAdaptersCount;
     }
     foreach ($this->validAdapters as $key => $value) {
         if ($count == 0) {
             break;
         }
         $count--;
         $manager->addAdapter($this->getValidAdapter($value));
     }
     $count = count($this->invalidAdapters);
     if ($invalidAdaptersCount < $count) {
         $count = $invalidAdaptersCount;
     }
     foreach ($this->invalidAdapters as $key => $value) {
         if ($count == 0) {
             break;
         }
         $count--;
         $manager->addAdapter($this->getInvalidAdapter($value));
     }
     $manager->releaseAllLocks();
     $manager->clearAllLocks();
     return $manager;
 }