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.
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
Recuperar um AsyncOperation pelo nome usando o método RetrieveMultiple ou por ID usando o método Retrieve.
Leia o atributo AsyncOperation.StateCode.
Alterar o código de estado
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.
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