UiPath Documentation
sdk
latest
false
Guia do desenvolvedor
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Tempo limite

Propriedade Tempo limite para atividades personalizadas da UiPath, incluindo o valor padrão de 60.000 ms e o código gerado quando a alternância de Tempo limite está habilitada.

O botão de tempo limite adiciona uma propriedade Tempo limite à atividade. Se a atividade não concluir a execução dentro do tempo especificado nesta propriedade, um erro será gerado. O tempo limite padrão é definido automaticamente como 60.000 ms (1 minuto).

Criador de atividade

Código Gerado

As atividades com tempos limite contêm um método ExecuteWithTimeout , que contém a lógica de execução dessa atividade. Este método é chamado dentro do método ExecuteAsync principal e atinge o tempo limite após um tempo definido (60 segundos por padrão).

protected override async Task<Action<AsyncCodeActivityContext>> ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
    {
        // Inputs
        var timeout = TimeoutMS.Get(context);
  
        // Set a timeout on the execution
        var task = ExecuteWithTimeout(context, cancellationToken);
        if (await Task.WhenAny(task, Task.Delay(timeout, cancellationToken)) != task) throw new TimeoutException(Resources.Timeout_Error);
  
        // Outputs
        return (ctx) => { };
    }
private async Task ExecuteWithTimeout(AsyncCodeActivityContext context, CancellationToken cancellationToken = default)
{
    ///////////////////////////
    // Add execution logic HERE
    ///////////////////////////
}
protected override async Task<Action<AsyncCodeActivityContext>> ExecuteAsync(AsyncCodeActivityContext context, CancellationToken cancellationToken)
    {
        // Inputs
        var timeout = TimeoutMS.Get(context);
  
        // Set a timeout on the execution
        var task = ExecuteWithTimeout(context, cancellationToken);
        if (await Task.WhenAny(task, Task.Delay(timeout, cancellationToken)) != task) throw new TimeoutException(Resources.Timeout_Error);
  
        // Outputs
        return (ctx) => { };
    }
private async Task ExecuteWithTimeout(AsyncCodeActivityContext context, CancellationToken cancellationToken = default)
{
    ///////////////////////////
    // Add execution logic HERE
    ///////////////////////////
}

Efeito no UiPath Studio

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte(opens in new window)

Quer aprender? Academia UiPath(opens in new window)

Tem perguntas? Fórum do UiPath(opens in new window)

Fique por dentro das novidades