认证高级PHP讲师
加机器...
只要是轮循就一定会有这个时间间隔。mysql好像没有监听数据机制你可以在前面加一层redis或者mq1.前端添加任务2.任务写入redis/mq,写入mysql3.后端监听redis/mq,获取到任务执行,执行完成后更新mysql
mq就不用说了,都是监听redis的用pubsub 来做redis pubsub 用起来很简单。http://redis.cn/commands/pubs...这样子后端执行任务的也可以搞并发
前端应该不能直接写数据库吧,前端应该是发送的请求,后端执行前端的请求,那么后端在完成写入数据库操作后,直接再发送一条请求执行任务的消息就行了。当然这条消息也可以在前端收到写入成功消息后,再由前端发起,只是这么做显得不太合理,也浪费服务器资源。这样后端执行任务的方式也不该是轮询,而应该改成监听响应。当监听到新任务的执行请求时,从数据库取数据,并添加到务队列中。
加机器...
只要是轮循就一定会有这个时间间隔。
mysql好像没有监听数据机制
你可以在前面加一层redis或者mq
1.前端添加任务
2.任务写入redis/mq,写入mysql
3.后端监听redis/mq,获取到任务执行,执行完成后更新mysql
mq就不用说了,都是监听
redis的用pubsub 来做
redis pubsub 用起来很简单。http://redis.cn/commands/pubs...
这样子后端执行任务的也可以搞并发
前端应该不能直接写数据库吧,前端应该是发送的请求,后端执行前端的请求,那么后端在完成写入数据库操作后,直接再发送一条请求执行任务的消息就行了。
当然这条消息也可以在前端收到写入成功消息后,再由前端发起,只是这么做显得不太合理,也浪费服务器资源。
这样后端执行任务的方式也不该是轮询,而应该改成监听响应。当监听到新任务的执行请求时,从数据库取数据,并添加到务队列中。