为了账号安全,请及时绑定邮箱和手机立即绑定

一次性生成多个任务 or 在一个任务中多次处理?

一次性生成多个任务 or 在一个任务中多次处理?

PHP
猛跑小猪 2019-03-18 15:35:06
需求:上传Excel表,将Excel表格中的按行将数据导入到指定模板中,生成文件(word or pdf) 并提供打包下载; 暂时不讨论需求有多恶心(明明使用word邮件合并即可解决的问题。。。),我们还是得想办法解决啊。 将一条数据放在指定的模板生成pdf文件,打包下载,这些基本的都没什么问题。这里想请教的一个问题是: 我这里定义了一个队列处理生成pdf,是一次性将excel数据全部丢给队列,然后在handle中循环生成pdf?还是在response前端前将数据拆分成多个任务,循环加入队列,然后一个任务处理生成一个pdf文件? 我这里选用一次性丢给queue,但是php处理起来。。。太吃力了,不知各位有何解药没?
查看完整描述

5 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

我觉得问题不是在队列和php 上,无论是那种都是很快处理逻辑的,慢是慢在生成 pdf 文件所做成的IO 损失上

查看完整回答
反对 回复 2019-03-18
?
慕慕森

TA贡献1856条经验 获得超17个赞

看你自己业务需要。你这种就好比,一个人处理50个任务(A)和同时50个人一起处理50个任务(B),两者各有优势。A的优势是50个任务之间的消息共享,劣势就是处理慢问题;B的优势就是处理快,但各个任务直接的信息不共享(无法其他人完成了)

查看完整回答
反对 回复 2019-03-18
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

我觉得你既然一次性丢给queue,那就没必要用队列了,直接开多个子进程来处理
如果要用队列,就一行一行入队列,开多个进程来处理队列

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 352 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信