这个接口返回整个列表这个视频文件可能会很大,导致下载超时或下载失败
下载视频文件的过程,前端提交视频URL给后端,然后使用队列下载的 还有什么其他方案吗?能否使用协程去做这件事呢?
大文件上传或者下载,一般都用断点续传
io密集可以用协程
这种长耗时任务走队列,不用考虑协程
POST /submit 只入队、立即返回 task_id;队列做下载,下载时通过 Redis publish 进度;前端通过 SSE 订阅 /events?task_id=... 实时收到进度事件。这样提交接口不会因为大文件下载而超时或阻塞
如果没有非常严格的文件权限要求,建议使用oss服务来存储视频文件,无论是下载速度和便捷度都很高。下载的进度条前端是可以做的。
大文件上传或者下载,一般都用断点续传
io密集可以用协程
这种长耗时任务走队列,不用考虑协程
POST /submit 只入队、立即返回 task_id;队列做下载,下载时通过 Redis publish 进度;前端通过 SSE 订阅 /events?task_id=... 实时收到进度事件。这样提交接口不会因为大文件下载而超时或阻塞
如果没有非常严格的文件权限要求,建议使用oss服务来存储视频文件,无论是下载速度和便捷度都很高。下载的进度条前端是可以做的。