O que é o Assembly Execution Progress?
O Assembly Execution Progress da Transloadit estima a conclusão de uma Assembly em tempo real para Assemblies que optam por ativar o recurso com o parâmetro emit_execution_progress. As porcentagens são calculadas a partir dos Steps da Assembly e podem descrever a execução geral ou um arquivo individual.
Como funciona o Assembly Execution Progress
O progresso da execução agrega o avanço do trabalho agendado em um grafo cujas ramificações podem ter custos muito diferentes. O valor exibido é calculado a partir da atividade dos Steps e dos arquivos, em vez de uma simples contagem regressiva baseada no relógio. Por isso, ele pode avançar de forma irregular, e ramificações paralelas podem fazer com que pareça estar parado enquanto uma operação custosa é executada. O progresso não é emitido para Assemblies de URL Transform. O progresso geral resume todo o processamento da Assembly, enquanto o progresso por arquivo pode revelar um item lento ou bloqueado. As interfaces usam a estimativa para fornecer feedback, mas os dados de estado continuam sendo a referência definitiva para determinar a conclusão.
Informações essenciais
- 1Um Step de transcodificação mais ao final pode consumir muito mais tempo real do que um Step de metadados anterior. Por isso, incrementos percentuais iguais não implicam durações restantes iguais.
- 2Os eventos de progresso são emitidos somente quando os parâmetros da Assembly definem
emit_execution_progresscomo true e são entregues pela conexão em tempo real; consultar periodicamente apenas o documento Assembly Status não revela esses percentuais. - 3Um Step que ainda está em execução informa um progresso limitado (95%), pois ainda faltam atividades de finalização, como a extração de metadados e o armazenamento de resultados. Confirme a conclusão somente pelo estado terminal da Assembly; uma ramificação com falha ou cancelada não corresponde a 100% de conclusão com sucesso.
Quando o Assembly Execution Progress é importante
Ative emit_execution_progress e escute os eventos de progresso na conexão em tempo real quando os usuários precisarem de feedback durante processamentos demorados de Assemblies; os percentuais chegam como eventos em fluxo, em vez de um campo no Assembly Status consultado periodicamente. Trate o percentual como uma estimativa, e não como tempo decorrido, pois os Steps podem ter durações diferentes ou imprevisíveis.