我有一个上传文件的Flask API。目前我正致力于扩展应用程序。
我有一个用户上传大文件的场景 - 在这种情况下,我在烧瓶请求中本地保存文件,然后启动芹菜任务,然后将其上传到S3(并执行其他操作)。
我现在的问题是芹菜工作者将在多台机器上运行 - 因此他们将无法访问Flask服务器的本地文件系统。我的解决方案是在Flask请求中上传到S3。问题是大文件(100MB)可能需要30秒以上,这会使烧瓶服务器陷入困境。
我正在寻找关于如何使用boto3上传文件asynch(带回调)或者更好的设计模式的解决方案。或者也许可以将整个文件传递给芹菜任务?