gpt4 book ai didi

python - 使用Python的音频处理服务器工作流程

转载 作者:行者123 更新时间:2023-12-03 00:26:16 25 4
gpt4 key购买 nike

我通常位于堆栈的前端,但是我需要在服务器上进行一些音频处理工作并下载结果。

我希望用户能够将MP3文件上传到服务器,并使其使用Python脚本处理该文件,并允许用户下载结果。整个过程可能需要10到20分钟,因此一旦完成,我需要通知用户。

我对如何将MP3文件上传到服务器已经足够了解,但是接下来我就结束了。我不确定如何启动Python脚本,将结果存储在网络服务器上,然后提供给它临时下载。

有人可以向我大声解释我该怎么做吗?我不希望有人为我做这项工作,但我正在寻找建议,以便我可以开始阅读有关如何做这些事情的信息。

无服务器功能可以完成这项工作吗?

谢谢!

最佳答案

这是“后台”或异步任务的经典示例。从用户的 Angular (人真的不愿意坐在那里等待20分钟)和从Web的 Angular 来看(都不应卡在此请求上)。

推荐的解决方法是某种任务/作业队列系统。

上载文件后,Web服务器将创建任务并将其提交到队列。然后返回“接受作业”,并完成请求。
然后,最好由后端工作进程异步处理此任务。
工作人员完成后,作业结果将存储在数据库中。工作人员还可以构造可用于查看此结果的URL。
然后可以将该URL发送给用户(例如通过电子邮件)以访问结果。
Web前端应从此URL根据存储​​在数据库中的结果来呈现页面。

一个适用于Python的开源和独立于供应商的好的任务队列堆栈是Celery。对于小型应用程序,您可以将Redis用作消息代理和结果后端。对于较大的应用程序,我建议使用RabbitMQ作为消息后端,并使用Postgres / MySQL作为结果。

这个two-part blog series是对该主题的很好的介绍。

关于python - 使用Python的音频处理服务器工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com