当前位置: 代码迷 >> python >> 在 Celery 任务中获取生成文件的 URl 的最佳方法是什么
  详细解决方案

在 Celery 任务中获取生成文件的 URl 的最佳方法是什么

热度:127   发布时间:2023-07-16 11:19:58.0

我的任务是在 DB 中异步导出几个大表,因为现在记录量太大以至于需要太多时间。 所以我已经成功地将导出的代码移到了 Celery 任务中。 它将文件导出并保存在服务器上的文件夹中。 但是我无法从任务中获取整个文件名,我可以将其传递给其余代码,因此在完成导出过程后下载它,因为 Celery 任务唯一可以返回的只是执行结果的状态任务(完成或未完成或失败)。 我正在使用 Django/Python + Celery + Redis。 感谢您的任何建议,它已经与我接壤好几天了。

在帮助 Danila 发表评论后,我尝试了 celery.result 库,我之前对此一无所知(令人惊讶的是,我之前也没有发现任何提及)。 从 celery.result 导入 ResultBase 后,它捕获了来自任务的传入结果,我终于能够获得我生成的文件的 URL,因此我得到了我需要的东西。 谢谢