public function onWorkerStart(Worker $worker)
{
$redis = new \Workerman\Redis\Client('redis://127.0.0.1:6379');
$redis->auth('123456');
$redis->subscribe('resty',function ($channel, $message){
echo ' [x] ' . $channel.'|'.$message, "\n";
});
}
发布
public function publish()
{
$redis = new \Workerman\Redis\Client('redis://127.0.0.1:6379');
$redis->auth('123456');
$redis->publish('resty','Welcome Tinywan publish '.date('Y-m-d H:i:s'));
}
看明白了,你这个是文档上那个异步redis吧,但是怎么延时呀
workerman/crontab 这个扩展
麻烦具体在问问你,crontab应该怎么写没用过
估计是业务逻辑问题。延迟消费要用队列,用这个 https://www.workerman.net/doc/workerman/components/workerman-redis-queue.html
先直接用手册里的测试例子测试,不加业务逻辑。测试没问题然后再一点一点加你的业务逻辑,这样好定位。
我用的就是这个呀,这个问题已经困扰我好多天了
想实现的功能其实很简单,用户点击一个按钮发起预约,onMessage接收他的用户信息后,来实现5分钟,10分钟各推一条预约通知提醒消息
记录日志看下,哪里执行哪里没执行。别人美环境没代码不好定位你那句代码有问题