sdk
latest
false
- Visão geral
- Atividades personalizadas
- Migrando Atividades para o .NET 6
- Notas de Versão
- Como Criar Regras do Analisador de Fluxo de Trabalho
- Como criar as configurações de projeto de atividades
- Como criar assistentes personalizados
- Priorizar atividades por escopo
- UiPath.Activities.Api.Base
- UiPath.Studio.Activities.Api
- UiPath.Studio.Activities.Api.Activities
- UiPath.Studio.Activities.Api.BusyService
- UiPath.Studio.Activities.Api.ExpressionEditor
- UiPath.Studio.Activities.Api.Expressions
- UiPath.Studio.Activities.Api.Licensing
- UiPath.Studio.Activities.Api.Mocking
- UiPath.Studio.Activities.Api.ObjectLibrary
- UiPath.Studio.Activities.Api.PackageBindings
- UiPath.Studio.Activities.Api.ProjectProperties
- UiPath.Studio.Activities.Api.ScopedActivities
- UiPath.Studio.Activities.Api.Settings
- UiPath.Studio.Activities.Api.Wizards
- UiPath.Studio.Activities.Api.Workflow
- UiPath.Studio.Api.Controls
- UiPath.Studio.Api.Telemetry
- UiPath.Studio.Api.Theme
- Robot JavaScript SDK
- Gatilhos SDK
Tempo limite
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo.
Guia do desenvolvedor
Last updated 25 de out de 2024
Tempo limite
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