code: protected function acquireLock($name, $timeout = 0)
      {
          $key = $this->calculateKey($name);
          $value = Yii::$app->security->generateRandomString(20);
          $waitTime = 0;
          while (!$this->redis->executeCommand('SET', [$key, $value, 'NX', 'PX', (int) ($this->expire * 1000)])) {
              $waitTime++;
              if ($waitTime > $timeout) {
                  return false;
              }
              sleep(1);
          }
          $this->_lockValues[$name] = $value;
          return true;
      }
docs: Acquires a lock by name.
  @param string $name of the lock to be acquired. Must be unique.
  @param int $timeout time (in seconds) to wait for lock to be released. Defaults to `0` meaning that method will return
  false immediately in case lock was already acquired.
  @return bool lock acquiring result.