1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?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;
- }
- }
|