(已解决)使用webman命令行执行脚本时报错 Timer can only be used in workerman running environment

JonWong

问题描述

使用webman命令行执行
php webman test
这个test脚本查询日志,然后推给队列,但是执行过程中报错

Timer can only be used in workerman running environment

程序代码或配置

use Webman\RedisQueue\Client
RedisQueue::send('xxx',$data);

报错信息:
In Timer.php line 157:

  Timer can only be used in workerman running environment  

test

操作系统环境及workerman/webman等具体版本

win11
php8.3

截图

升级完最新版
截图
还是不行

最后解决方案

手册里有说
Client::send()是异步的,它只能在workerman的运行环境中使用,命令行脚本请使用同步接口Redis::send()

153 2 0
2个回答

walkor 打赏

webman/redis-queue 可能不是最新的,升级下

  • JonWong 17天前

    老大 我升级成功后,执行还是不行

  • walkor 17天前

    可能是你哪里用了定时器导致的,命令里用不了定时器

  • JonWong 17天前

    我看了一下 官方里边又一个定时器

JonWong

截图
我看官方会用到定时器
截图

  • walkor 17天前

    好吧,你用的是 Client::send();
    手册里有说
    Client::send()是异步的,它只能在workerman的运行环境中使用,命令行脚本请使用同步接口Redis::send()

  • JonWong 17天前

    谢谢老大 解决了

×
🔝