php
public $mutexName = 'xxxxx'; //固定的值
protected function checkThread()
{
\Yii::$app->setComponents([
'mutex' => [
'class' => 'yii\redis\Mutex',
'expire' => 300,
],
]);
return \Yii::$app->mutex->acquire($this->mutexName, 10);
}
有个定时任务,每次执行前我都会调用一下checkThread去获取锁,获取不到就退出。
现在有多台机器设置了同样时刻的这个计划任务,在同一时间执行了这定时任务,我发现还是重复执行了后面的业务逻辑。
这是这个获取锁没效?