123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?php
- namespace yii\mutex;
- use Closure;
- trait RetryAcquireTrait
- {
-
- public $retryDelay = 50;
- private function retryAcquire($timeout, Closure $callback)
- {
- $start = microtime(true);
- do {
- if ($callback()) {
- return true;
- }
- usleep($this->retryDelay * 1000);
- } while (microtime(true) - $start < $timeout);
- return false;
- }
- }
|