1
This commit is contained in:
@@ -19,6 +19,7 @@ use Kiri\Kiri;
|
|||||||
use Kiri\Pool\Redis as PoolRedis;
|
use Kiri\Pool\Redis as PoolRedis;
|
||||||
use Note\Inject;
|
use Note\Inject;
|
||||||
use Server\Events\OnWorkerExit;
|
use Server\Events\OnWorkerExit;
|
||||||
|
use Swoole\Timer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Redis
|
* Class Redis
|
||||||
@@ -80,6 +81,25 @@ class Redis extends Component
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $key
|
||||||
|
* @param int $timeout
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function waite($key, int $timeout = 5): bool
|
||||||
|
{
|
||||||
|
$time = time();
|
||||||
|
while (!$this->setNx($key, 1)) {
|
||||||
|
if (time()- $time >= $timeout){
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
usleep(1000);
|
||||||
|
}
|
||||||
|
$this->expire($key, $timeout);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $key
|
* @param $key
|
||||||
* @param int $timeout
|
* @param int $timeout
|
||||||
|
|||||||
Reference in New Issue
Block a user