Partilhar via


Estados de operação assíncrona

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

Após as operações assíncronas serem adicionadas à fila assíncrona, elas estão em um estado bem definido. Uma operação assíncrona pode estar esperando para ser executada, pode estar em execução ou pode estar concluída. Também há outros estados possíveis para que a operação seja eventualmente excluída da fila. Os estágios definem o ciclo de vida da operação assíncrona.

Neste tópico

Estados das operações assíncronas

Atualizar e recuperar estados AsyncOperation

Estados das operações assíncronas

O estado da operação assíncrona pode ser alterado de três formas: pela plataforma como parte da mesma fila de processamento regular, pelo usuário interagindo com o aplicativo Web do Microsoft Dynamics 365 ou por uma chamada do serviço da Web que modifica a operação assíncrona. Como um desenvolvedor, você pode recuperar o estado atual de qualquer operação assíncrona que você tem acesso e alterar o estado.

A tabela a seguir lista os estados e o status de cada estado de uma AsyncOperation.

Estado

Status

Valor do status numérico

Ready

WaitingForResources

0

Suspended

Waiting

10

Locked

InProgress

20

Locked

Pausing

21

Locked

Canceling

22

Completed

Succeeded

30

Completed

Failed

31

Completed

Canceled

32

Os estados suportados são definidos na enumeração AsyncOperationState. Na classe AsyncOperation de limite inicial, o estado está disponível no atributo AsyncOperation.StateCode enquanto o status estiver disponível no atributo AsyncOperation.StatusCode. Para obter mais informações, consulte os metadados de entidade AsyncOperation.Para exibir os metadados de entidade da sua organização, instale a solução Navegador dos Metadados descrita em Procurar os metadados da sua organização. Também é possível exibir os metadados de uma organização não personalizada no arquivo do Excel chamado EntityMetadata.xlsx, incluído na pasta de nível superior do download do SDK.. Os status são mostrados no aplicativo Web do Microsoft Dynamics 365 no campo Razão do Status na grade Trabalhos do Sistema. Selecionando um dos itens de menu no menu Mais Ações em Trabalhos do Sistema, você pode alterar interativamente o estado de uma operação assíncrona. As ações permitidas incluem: Cancelar, Reiniciar, Adiar e Pausar.

O diagrama a seguir mostra as transições de estado da operação assíncrona que têm suporte.

Diagrama de estados de AsyncOperation

Observe que uma operação assíncrona pode apenas fazer a transição de um estado para outro junto com caminhos específicos conforme mostrado no diagrama. Alguns caminhos são iniciados pelo usuário que interage com o aplicativo Web do Microsoft Dynamics 365 enquanto outros caminhos são iniciados pela plataforma Microsoft Dynamics 365 como parte de processamento de fila assíncrona regular ou devido a um telefonema de serviço da Web. Por exemplo, uma operação assíncrona não pode fazer a transição diretamente de um estado Suspenso a um estado Bloqueada.

Um estado bloqueado indica que a instância AsyncOperation está sendo usada pelo serviço assíncrono. Quando for bloqueado, não pode ser usado por outra instância de serviço. Isso garante que a instância não seja executada mais de uma vez, por exemplo, por dois serviços assíncronos diferentes.

Atualizar e recuperar estados AsyncOperation

Monitorar e atualizar o estado de uma operação assíncrona é geralmente executado interativamente através da grade Trabalhos do Sistema no aplicativo Web Microsoft Dynamics 365. No entanto, você também pode usar o SDK para escrever código que executa essas mesmas tarefas.

Leia o estado de uma operação assíncrona

  1. Recuperar um AsyncOperation pelo nome usando o método RetrieveMultiple ou por ID usando o método Retrieve.

  2. Leia o atributo AsyncOperation.StateCode.

Alterar o código de estado

  1. Modificar o atributo de código de estado recuperado para um novo valor de acordo com os estados de operação permitidos. Você também pode alterar o atributo AsyncOperation.PostponeUntil.

  2. Chame Update para alterar o valor desses atributos no banco de dados.

As operações anteriores também podem ser executadas usando o método Execute com mensagens de solicitação adequadas. Atributos de AsyncOperation diferentes de AsyncOperation.StateCode e AsyncOperation.PostponeUntil devem ser considerados somente leitura.

Trabalhos do sistema recorrentes

Não é possível cancelar, pausar ou retomar a maioria dos trabalhos do sistema. Consulte a lista a seguir que identifica se qualquer um desses trabalhos do sistema estão restritos. O valor na primeira coluna é o valor do atributo OperationType de entidade AsyncOperation.

Tipo de operação assíncrona (valor de opção)

Descrição da Operação

22

Calcular Tamanho Máximo do Armazenamento da Organização

18

Calcular Tamanho do Armazenamento da Organização

19

Coletar Estatísticas do Banco de Dados da Organização

20

Coletar Estatísticas de Tamanho da Organização

16

Coletar Estatísticas da Organização

9

Conjunto de Dados do SQM

25

Índice de Catálogo de Texto Completo da Organização

31

Notificação de Limite de Armazenamento

24

Intervalos da Atualização de Estatísticas

27

Atualizar Estados do Contrato

Para obter uma lista completa dos tipos de operação assíncrona sem suporte, consulte dos metadados da entidade AsyncOperation.Para exibir os metadados de entidade da sua organização, instale a solução Navegador dos Metadados descrita em Procurar os metadados da sua organização. Também é possível exibir os metadados de uma organização não personalizada no arquivo do Excel chamado EntityMetadata.xlsx, incluído na pasta de nível superior do download do SDK.

Confira Também

Serviço assíncrono no Microsoft Dynamics CRM 2015
Entidade AsyncOperation (trabalho do sistema)
Ordem de dependência e execução nas operações assíncronas

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais