#### 背景描述
部署环境为分布式部署,定时任务期望其中某台服务器执行,故在代码中使用 Redis::setNx 来创建任务锁,期望拿到锁的服务器执行任务。php
// 每天凌晨2点执行更新状态信息
new Crontab('0 2 * * *', function () {
// 负载均衡下有多台服务器,所以拿到更新锁的服务器才能执行任务
$lock = Redis::setNx('update_status_' . date('Y-m-d'), 1);if ($lock) {
// 执行更新任务
}
});
```
#### 结果
本地测试没有问题,但是在服务器中,多台服务器都会执行更新任务,请问问题出在哪里上次发版拉配置中心的配置,拉redis的配置失败了,导致走了默认的配置,应用服务器都连到自己所在服务器的redis了。