diff --git a/application/api/controller/Ceshi.php b/application/api/controller/Ceshi.php index 65cee6d..b8c6aa7 100644 --- a/application/api/controller/Ceshi.php +++ b/application/api/controller/Ceshi.php @@ -877,6 +877,7 @@ class Ceshi extends Controllers } else { // 子进程 sleep(5); + Log::record("子进程:5秒后执行".json_encode($pid),"infoss"); echo "子进程:5秒后执行\n"; exit(0); // 子进程结束 } diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 54564c6..a7239c7 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -5,6 +5,7 @@ namespace app\api\model; use app\common\controller\Push; use think\Cache; use think\Db; +use think\Log; use think\Model; class Room extends Model @@ -886,7 +887,23 @@ class Room extends Model $ttex['FromUserInfo'] = db::name('user')->where('id', $user_id)->field('id as user_id,nickname,avatar,sex')->find(); $ttex['ToUserInfo'] = db::name('user')->where('id', $partner_id)->field('id as user_id,nickname,avatar,sex')->find(); $ttex['text'] = 'CP特效'; - model('api/Chat')->sendMsg(1080, $room_id, $ttex); + + // 子进程推送CP特效消息 + $pid = pcntl_fork(); + + if ($pid == -1) { + // 创建子进程失败,直接推送消息 + model('api/Chat')->sendMsg(1080, $room_id, $ttex); + } elseif ($pid) { + // 父进程,继续执行 + // 不等待子进程结束 + } else { + // 子进程,延迟推送消息 + sleep(1); + model('api/Chat')->sendMsg(1080, $room_id, $ttex); + exit(0); // 子进程结束 + } + } } }