Assembly Execution Progress: status em tempo real das Assemblies
Quando os uploads terminam, os usuários ainda querem saber o que está acontecendo com seus arquivos. Nosso novo recurso Assembly Execution Progress preenche essa lacuna com eventos de progresso em tempo real para cada arquivo durante o processamento, permitindo que sua interface mostre um status útil em vez de um simples indicador de carregamento.
Assembly Execution Progress ainda é experimental. Seu comportamento, os detalhes da API e os preços podem mudar enquanto continuamos a aprimorar o recurso. Se encontrar problemas, por favor, entre em contato conosco.
Por que isso é importante
O progresso do upload informa aos usuários quando um arquivo chega aos nossos servidores. Assembly Execution Progress informa o que acontece depois: quanto seus arquivos já avançaram em cada Step de processamento. Isso transmite confiança em pipelines complexos, especialmente quando arquivos diferentes seguem caminhos diferentes.
Como funciona
A Transloadit estima o progresso geral prevendo os Steps
restantes na sua Assembly e combinando essas estimativas
com dados de execução em tempo real (por exemplo, o progresso da codificação de
/video/encode). Você recebe uma porcentagem combinada e valores de progresso por
arquivo, atualizados aproximadamente a cada dois segundos.
Ative Assembly Execution Progress na sua Assembly
Adicione emit_execution_progress: true às suas Assembly Instructions ao criar a
Assembly:
{
"steps": {
"resized": {
"robot": "/image/resize",
"use": ":original",
"width": 100,
"height": 100,
"resize_strategy": "fillcrop"
}
},
"emit_execution_progress": true
}
Consuma o fluxo de progresso
Abra o fluxo de atualizações da Assembly e escute os eventos
assembly_execution_progress. Cada evento inclui uma estimativa geral em
progress_combined e um array de valores de progresso por arquivo.
Quando ainda não for possível estimar o progresso, mantenha a interface em um estado indeterminado.
{
"progress_combined": 75,
"progress_per_original_file": [
{
"original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
"progress": 50
},
{
"original_id": "56921a2dd46246d3b4d3a98b9f8ed4e1",
"progress": 100
}
]
}
Dicas de interface
Combine o progresso do upload com o progresso da execução para que os usuários vejam todo o pipeline.
Mostre o progresso por arquivo nos uploads em lote para evitar a impressão de que estão “travados”.
Use o progresso combinado para uma única barra geral e o progresso por arquivo para uma lista detalhada.
Limitações a considerar
O progresso é uma estimativa, e alguns fluxos de trabalho não conseguem fornecê-lo imediatamente ou
mesmo em nenhum momento. Consulte as
orientações sobre Assemblies compatíveis
para contagens imprevisíveis de resultados, Assemblies de URL Transform e uploads multipartes.
Cada entrada em progress_per_original_file identifica o arquivo de entrada original por
original_id; arquivos importados sem esse ID não são incluídos na lista.
Próximos passos
Leia a documentação de Assembly Execution Progress para conhecer as regras de compatibilidade, a ausência de atualizações e o esquema de progresso que aceita valores null. Depois, use a referência do fluxo de atualizações da Assembly para integrar os eventos à sua interface.
