后台任务的实现 [ 2.0 版本 ]
项目有需求,需要点击下载文件、或者导出、导入文件的时候,即加入后台任务,在后台那里添加任务运行查询,等查询完数据再提示可以下载,请问应该怎么实现呢,各位大牛
最佳答案
-
dingjj2010 发布于 2017-12-04 13:43 举报
1任务加到数据库,用一个定时脚本去跑,跑完更新状态
2用消息队列去处理
其他 5 个回答
-
建议项目集成workerman或swoole,使用参考文档
我现在有些需求和你差不多,短信,环信,友盟这些都是写入到任务中,发送成功后,同步任务
下载原理也差不多,队列执行下载完后同步下载地址和状态
项目下集成了workerman创建一个守护进程,多个子进程,去执行任务
PC端的socket通信推送消息也支持,共 3 条回复zcx147716565 回复于 2017-12-04 11:19 回复workman好像windows和linux不共用的,单纯用YII框架不可以实现的吗
@zcx147716565 composer安装workerman也可以啊,依赖包使用很方便,或者在yii2项目下 ,自己建个第三方扩展目录,像什么阿里大鱼,微信,支付宝,ueditor,workerman都可以放那下面(我是有时要改vendor下的东西,所有某些扩展会单独拿出来改和使用),我是安装的虚拟机linux下运行的yii2和workerman,部署到线上时也不会有什么改动,运行环境不建议使用window
zcx147716565 回复于 2017-12-05 16:02 回复@nauhein 谢谢大佬的帮助,最后通过yii2的console模块和服务器的定时任务实现了
nauhein 觉得很赞 -
最近也是在做后台管理的时候有个导出 execl 文件,在查看列表页的时候就把当前查看列表的SQL加密作为参数,点击导出就是SQL执行直接导出了。没有什么后台任务进行。如果你的比较繁琐的话,个人建议就是丢到任务中,处理完毕通知用户,至于通知方式可以是 长连接,邮箱,再就是用户刷新或者访问其他站内地址以站内信的方式告知。
共 2 条回复zcx147716565 回复于 2017-12-04 11:17 回复就是想要有个后台任务,但是不知道如何实现
@zcx147716565 什么操作,那么费时。
zcx147716565 广州
最后登录:2021-01-12
在线时长:69小时38分
- 粉丝9
- 金钱12500
- 威望20
- 积分13390