[Python] App dash python roda rápido na máquina local, porém muito lento no gcp

Discussão em 'Python' iniciado por Stack, Outubro 10, 2024.

  1. Stack

    Stack Membro Participativo

    Estou desenvolvendo uma aplicação para dashboard usando a biblioteca dash.

    já coloquei os dados em um container dcc.store e recuperando eles no callback para usar a cache do usuário.

    quando rodo no computador local, a aplicação carrega rapidamente no navegador (20 seg.)

    após carregar no google cloud plataform através de uma VM, a aplicação demora 10 minutos para carregar.

    app.layout = html.Div([
    dbc.Container([
    dcc.Store(id='dataset_venda_liq', data={}),
    dcc.Store(id='dataset_metas_codusur', data={}),
    dcc.Store(id='data_atual', data={}),
    dcc.Store(id='meta_ano', data={}),
    dcc.Store(id='meta_mes', data={}),
    dcc.Store(id='meta_semana', data={}),
    dcc.Store(id='meta_sabado', data={}),
    dcc.Interval(
    id='interval-component',
    interval=3000*1000,
    n_intervals=0
    )


    def update_data(n_intervals):
    tz = pytz.timezone('America/Sao_Paulo')
    data_atual = datetime.now(tz).date()

    # Processa os dados completos
    df_venda_liq_geral = venda_liquida()

    df_venda_liq_geral_store = df_venda_liq_geral.to_dict('records')

    df_metas_geral = pd.read_csv(csv_url_geral)
    primeira_linha = df_metas_geral.iloc[0]
    meta_ano = primeira_linha['META_ANO']
    meta_mes = primeira_linha['META_MES']
    meta_semana = primeira_linha['META_SEMANA']
    meta_sabado = primeira_linha['META_SABADO']

    df_metas_usuario = pd.read_csv(csv_url_codusur)

    df_metas_usuario = df_metas_usuario[~df_metas_usuario['CODUSUR'].isin(rca_nao_controla)]
    df_metas_usuario_store = df_metas_usuario.to_dict('records')

    return df_venda_liq_geral_store, df_metas_usuario_store, data_atual, meta_ano, meta_mes, meta_semana, meta_sabado

    @app.callback(
    Output('graph1', 'figure'),
    Input('dataset_venda_liq', 'data'),
    Input('data_atual', 'data'),
    Input('meta_ano','data')
    )

    Continue reading...

Compartilhe esta Página