worker的数据库操作

flock

先说下业务,在workerman中定时查询一个接口返回数据,然后比对,如果出现新的数据,就加入数据库,然后判断用户是否中奖,并推送消息给用户。问题有如下

1.在workerman中怎么实现连接数据库,并执行增删改查操作。有没有demo,在手册没看到

这样操作的话,对数据库会不会造成很大的压力
后续补充

4389 2 0
2个回答

phpcreeper

关于使用数据库: http://doc.workerman.net/640201
很普通的使用场景,一般不会有什么压力;再有是否对数据库会造成压力这取决于多方面的因素吧,如:程序能力、硬件能力、并发能力、以及数据库自身能力等等。

  • flock 2018-08-20

    非常感谢您的帮助!

  • flock 2018-08-22

    想问您一个问题,我看手册是说业务逻辑不要放在workerman里,但是我要在workerman定时器里查询数据,然后判断是否有中奖,中奖的规则不是也要在wokerman里

phpcreeper

针对你的评论问题,参考建议如下:

首先workerman是框架,业务代码自然不要放在workerman里, 业务代码一般都是在启动脚本的 onMessage 回调中编写, 当然针对 onMessage 回调可以继续拆分业务代码,类似MVC框架的做法,无非就是 call_user_func_array() 做路由。
根据你整体的使用场景,建议你单独部署个 taskWorker, 然后在taskWorker里进行设置定时器,进行一系列的如是否中奖、是否有数据更新之类业务操作,并推送消息给WorkerMan。
workerman onmessage 回调里发起 new AsyncTcpConnection(...taskWorker...), 当收到来自 taskWorker 的业务消息时, workerman 推送给用户即可。

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