我正在使用 celery 任务为用户数据生成 PDF 和 Excel 导出。这些任务构建临时文件。这就是问题所在。我正在使用 NamedTemporaryFile对象,当文件关闭时它们会自动删除自己。由于它们在任务结束时关闭,因此它们会立即消失。
如果我将 delete 属性设置为 false,我可以让它工作:
NamedTemporaryFile(delete=False)
但这有一个问题,就是在系统上留下一堆临时文件,这是我不想要的。
我总是可以创建一个清理任务,但我希望那里可能有更好的模式......
谢谢!
最佳答案
你可以使用 StringIO/CStringIO类而不是 NamedTemporaryFile 从 Excel/PDF 文件中捕获数据并返回其值。 StringIO 类的行为方式与普通文件相同。
关于python - 在 Django Celery 结果中使用临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17093874/