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.

questionAnswers(3)

yourAnswerToTheQuestion