我有一个任务是在数据库异步中导出几个大表,因为现在记录的数量太大而且需要花费太多时间。所以我成功地将导出代码移到了Celery任务中。它将文件导出并保存在服务器上的文件夹中。但我无法从任务中获取整个文件名,我可以将其传递给其余代码,因此在完成导出过程后下载它,因为Celery任务唯一可以返回的只是执行结果的状态任务(已完成或尚未完成)。我正在使用Django / Python + Celery + Redis。感谢您的任何建议,它已经与我联系了好几天。
答案 0 :(得分:1)
在帮助Danila发表评论之后,我尝试了celery.result库,我之前对此一无所知(令人惊讶的是我之前没有发现任何提及它)。从celery.result导入ResultBase后,它从任务中捕获传入的结果,我终于能够获取生成的文件的URL,因此我得到了我需要的东西。谢谢