Executar código após o início do aplicativo do balão
Meu objetivo é executar um código arbitrário após o início do meu aplicativo Flask. Aqui está o que eu tenho:
def run():
from webapp import app
app.run(debug=True, use_reloader=False)
Idealmente, eu seria capaz de fazer isso:
def run():
from webapp import app
app.run(debug=True, use_reloader=False)
some_code()
Mas o código não continua alémapp.run()
, para que some_code () nunca seja executado.
A solução em que estou trabalhando no momento é executar some_code () em um thread separado de app.run (), criar umantes do primeiro pedido função que define isso:
app.is_running = True
Em seguida, peça a some_code () para gravar uma solicitação básica para o aplicativo, para que o código 'antes da primeira solicitação' seja executado. Isso é bastante complicado e vai ser difícil de documentar. Prefiro usar o parâmetro app.is_running que já é fornecido no Flask ou usar um@app.after_server_start
decorador, mas que eu saiba, nenhum deles existe.
Ajude-me a melhorar esse código?
Póstumo: Toda vez que penso sobre esse assunto, desejo-me que@app.after_server_start
decorador existia.