Como limpar arquivo temporário usado com send_file?
Atualmente estou desenvolvendo uma interface json do lado do servidor, onde vários arquivos temporários estão manipulando durante as solicitações.
Minha solução atual para limpar esses arquivos no final da solicitação é assim:
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return "blabalbal"
Neste caso, a limpeza recebe um laço no objeto .__ exit __ ()
No entanto, em alguns casos, eu preciso retornar um arquivo temporário para o cliente, caso em que o código se parece com isso:
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return send_file(object.somePath)
Isso atualmente não funciona, porque quando a limpeza ocorre, o flask está no processo de ler o arquivo e enviá-lo para o cliente. Como posso resolver isso?
Edit: Eu esqueci de mencionar que os arquivos estão localizados em diretórios temporários.