在自定义命令里好像不能使用 redis-queue 来推送消息队列。
我试了一下会报以下错误
PHP Fatal error: Uncaught Error: Call to a member function add() on null in /home/pader/mix/code/webman/vendor/workerman/workerman/Connection/AsyncTcpConnection.php:213
Stack trace:
#0 /home/pader/mix/code/webman/vendor/workerman/redis/src/Client.php(444): Workerman\Connection\AsyncTcpConnection->connect()
#1 /home/pader/mix/code/webman/vendor/workerman/redis/src/Client.php(275): Workerman\Redis\Client->connect()
#2 /home/pader/mix/code/webman/vendor/workerman/redis-queue/src/Client.php(73): Workerman\Redis\Client->__construct()
#3 /home/pader/mix/code/webman/vendor/webman/redis-queue/src/Client.php(45): Workerman\RedisQueue\Client->__construct()
#4 /home/pader/mix/code/webman/vendor/webman/redis-queue/src/Client.php(58): Webman\RedisQueue\Client::connection()
#5 /home/pader/mix/code/webman/app/command/TestHelloCommand.php(41): Webman\RedisQueue\Client::__callStatic()
#6 /home/pader/mix/code/webman/vendor/symfony/console/Command/Command.php(291): app\command\TestHelloCommand->execute()
#7 /home/pader/mix/code/webman/vendor/symfony/console/Application.php(989): Symfony\Component\Console\Command\Command->run()
#8 /home/pader/mix/code/webman/vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand()
#9 /home/pader/mix/code/webman/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun()
#10 /home/pader/mix/code/webman/webman(14): Symfony\Component\Console\Application->run()
#11 {main}
thrown in /home/pader/mix/code/webman/vendor/workerman/workerman/Connection/AsyncTcpConnection.php on line 213
其它需要依赖 Workerman 的异步环境的东西,好像都不行。。
那这样好像就没啥用了。。
asyncTcpConnect必须在worker中使用,不能单独拿来直接在php中使用
看这个https://www.workerman.net/q/4392
是啊,问题是 webman 本身就是基于 workerman 做的啊,结果自定义命令的环境不在 workerman 中。。
workerman内核的所有类必须在workerman的运行环境才能用。命令行不是workerman的运行环境,无法使用。
好吧。
walkor大佬,有两个问题,1 :我的账号下有 两条你手动删除的提醒(mysql删除),但是提醒还在,点进去404,强迫症, 2: 希望能查看自己发过的帖子,想找以前的帖子
这里点击标记已读。
发过的帖子后面会加上
发过的帖子已经加上了