python - 将文件从芹菜任务发送到烧瓶路线
问题描述
我有一个烧瓶应用程序,我在 Celery 任务中从 S3 查询和过滤大型数据集。我想将过滤后的数据作为 CSV 提供给用户。CSV 的大小最大为 100mb。我最初的想法是让 Celery 将数据集作为 CSV 保存到磁盘,然后在烧瓶路由中使用 send_file 但我使用 Heroku 进行部署,它有一个临时文件系统。因此,如果我将文件保存在 Celery 工作者中,它不会共享给网络工作者。我还直接在烧瓶路由中使用 S3 查询,然后在不保存到服务器的情况下发送文件,但是文件查询需要时间,最多 30 秒,所以我想将其作为 Celery 中的后台作业。
另一个想法是将过滤后的数据上传到 S3 并在下载后删除。然而,这似乎效率低下,因为它意味着下载、过滤和重新上传。
有什么方法可以有效地做到这一点,或者我应该把 Heroku 移到有 SSD 空间的地方。谢谢!
解决方案
推荐阅读
- python - 在 Windows 10 中连接时 MYCLI 出错
- c++ - 嵌套的 rest api 调用使服务器上的网络出现奇怪的行为
- jenkins - 在管道中使用 activeChoiceReactiveParam
- ios - FFmpeg 支持 CocoaPods?
- c# - C# 远程服务器返回错误:(403) Forbidden | 只有几次
- reactjs - render 没有返回任何内容。这通常意味着缺少返回语句
- dart - How to convert a byte array to a double (float value) in Dart
- javascript - 如何在 reactJS 中获取正文中的图像
- sql - 如何使用 Aginity pro 对字段求和?
- react-native - React Native — 不变违规:ART 已从 React Native 中删除