Relatórios síncronos

O que é um relatório síncrono?

Um relatório síncrono é um relatório pequeno que precisa ser gerado muito rapidamente. Ao receber uma solicitação para gerar um relatório síncrono, a plataforma de relatórios do DCM começará a executá-lo para você imediatamente. Esses relatórios são recomendados para as situações em que você precisa de uma pequena parte dos dados rapidamente, como quando as métricas são exibidas em uma interface gráfica do usuário.

Qual é a diferença entre a geração de relatórios síncrona e assíncrona?

A geração assíncrona de um relatório sempre levará pelo menos alguns minutos, mesmo que você solicite uma quantidade pequena de dados. Os relatórios síncronos retornam esses dados muito mais rapidamente, mas têm o menor tempo limite de execução do relatório. Use a geração de relatórios assíncronos quando o relatório não puder ser gerado dentro do tempo limite síncrono ou quando você não estiver em um ambiente temporário, como uma interface do usuário.

Qual é o tempo limite do relatório síncrono?

Se o relatório for pequeno o suficiente para ser gerado em 10 segundos ou menos, o sistema retornará um arquivo de relatório completo após a primeira solicitação de execução. Caso contrário, os relatórios do DCM executarão seu relatório por um período de 50 segundos antes que o tempo limite seja atingido.

O que acontece quando um relatório síncrono leva muito tempo para ser gerado?

Se a geração de um relatório síncrono não for concluída dentro do período de tempo limite, a geração será interrompida e o relatório fará failover em nossa fila de relatórios assíncronos. Seu relatório não falhará nem retornará um erro, mas, se for movido para a fila de relatórios assíncronos, ele levará pelo menos alguns minutos para ser gerado.

Você não receberá nenhuma indicação de que seu relatório excedeu o tempo limite do relatório síncrono, exceto o tempo de geração dele. Ela será concluída de maneira síncrona em 50 segundos ou menos ou se tornará assíncrona e levará vários minutos.

Quais tipos de relatório são compatíveis com a execução síncrona?

Todos os tipos de relatórios são compatíveis com a execução síncrona, exceto:

Todos os outros tipos de relatório são compatíveis com a execução síncrona, mas o tempo limite será atingido se muitos dados ou uma combinação de métricas e dimensões que usam muitos recursos forem usados.

Como faço para gerar um relatório síncrono?

Por padrão, todos os relatórios são executados de forma assíncrona. Ao solicitar a geração de um novo arquivo de relatório, você pode definir o parâmetro opcional synchronous como true para que o relatório seja gerado de maneira síncrona. Consulte o código de exemplo em nossa documentação.

Devo solicitar todos os meus relatórios com execução síncrona?

Não. Solicite a execução síncrona somente quando você esperar que o relatório seja concluído dentro do tempo limite. Se o relatório começar com a execução síncrona e atingir o tempo limite, ele será movido para a fila assíncrona. O tempo total de execução do relatório será o necessário para gerá-lo de maneira assíncrona somado ao tempo limite síncrono. Assim, se você tivesse solicitado o relatório de forma assíncrona, evitaria o atraso adicional do período de tempo limite síncrono.

As métricas e dimensões solicitadas afetarão o tempo de geração dos relatórios?

Sim. Determinadas métricas e dimensões levam mais tempo para serem compiladas do que outras, e algumas delas podem até fazer com que seus relatórios síncronos sempre atinjam o tempo limite. As dimensões geográficas raramente são rápidas o suficiente para serem incluídas em relatórios síncronos.

Como posso diminuir o tempo necessário para gerar meus relatórios e permitir a geração síncrona de relatórios?

Muitos fatores afetam a velocidade, como o tamanho das campanhas incluídas e o período abrangido pelo relatório. Muitas vezes, um ajuste manual é a melhor maneira de fazer com que seus relatórios sejam reduzidos a partes suficientes. Comece com tudo o que você deseja exibir rapidamente e, em seguida, reduza o relatório até ele ser concluído de forma síncrona.