定时器如何结合Thinkphp框架使用

wiheck

问题:gateway怎么在业务逻辑中添加一个定时器去做一个数据库操作 或 执行一个类下的某个方法
场景:用户提交订单后5分钟后自动取消
 
gateway启动方式 php start.php start

[attach]1389[/attach]
这种启动方式定时器无法识别Db,报错下面的截图类似提示无法找到方法db。

[attach]1388[/attach]
例如有客户端连接时执行某个类下的test方法(命名空间没有错误)。
 
 

[attach]1390[/attach]
这个截图是直接使用workerman来实现的结果没有报错。
启动方式:php think worker:server.
 
 
 

7539 2 0
2个回答

xiuwang

use xx\xx\xx;
只代表使用xx\xx\xx的命名空间,不代表使用了就能自动加载对应文件。
自动加载文件一般是设置 spl_autoload 或者 _autoload 来完成的,框架也是如此,所以tp应该有个autoload文件里设置了spl_autoload从而设置了加载规则,需要加载tp的那个autoload文件才能实现自动加载tp的类

  • 暂无评论
ychuncc

必须通过thinkphp启动workerman  php think worker:gateway

  • 暂无评论
年代过于久远,无法发表回答
×
🔝