Compartir a través de


Estados de las operaciones asincrónicas

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Después de agregar las operaciones asincrónicas a la cola asincrónica, existen en un estado bien definido. Una operación asincrónica puede estar en espera de ejecución, ejecutándose o finalizada. También hay otros estados posibles hasta que la operación se elimina finalmente de la cola. Los estados definen el ciclo de vida de la operación asincrónica.

En este tema

Estados de las operaciones asincrónicas

Recuperación y actualización de estados de AsyncOperation

Estados de las operaciones asincrónicas

El estado de la operación asincrónica se pueden modificar de tres formas: por la plataforma como parte del procesamiento normal de la cola, por el usuario cuando interactúa con la aplicación web de Microsoft Dynamics 365 o con una llamada al servicio web que modifique la operación asincrónica. Como programador, puede recuperar el estado actual de cualquier operación asincrónica a la que tenga acceso y también cambiar su estado.

La siguiente tabla muestra los estados y los subestados de cada estado de una AsyncOperation.

Est.

Estado

Valor numérico del subestado

Ready

WaitingForResources

0

Suspended

Waiting

10

Locked

InProgress

20

Locked

Pausing

21

Locked

Canceling

22

Completed

Succeeded

30

Completed

Failed

31

Completed

Canceled

32

Los estados admitidos se definen en la enumeración AsyncOperationState. En la clase AsyncOperation enlazada en tiempo de compilación, el estado está disponible en el atributo AsyncOperation.StateCode mientras que el subestado está disponible en el atributo AsyncOperation.StatusCode. Para obtener más información, vea los metadatos de la entidad AsyncOperation.Para ver los metadatos de la entidad de su organización, instale la solución Explorador de metadatos que se describe en Examinar los metadatos de la organización. También puede ver los metadatos de una organización no personalizada en una hoja de cálculo de Excel denominada EntityMetadata.xlsx que se incluye en la carpeta de nivel superior de la descarga del SDK.. Los subestados se muestran en la aplicación web de Microsoft Dynamics 365 en el campo Razón para el estado de la cuadrícula Trabajos del sistema. Al seleccionar cualquiera de los elementos del menú Más acciones en Trabajos del sistema, puede editar interactivamente el estado de una operación asincrónica. Las acciones permitidas son las siguientes: Cancelar, Reanudar, Posponer y Pausa.

El siguiente diagrama muestra las transiciones de estado de la operación asincrónica admitidas.

Diagrama de estado AsyncOperation

Observe que una operación asincrónica solo puede pasar de un estado a otro a lo largo de las rutas específicas que se muestran en el diagrama. Algunas rutas las inicia el usuario al interactuar con la aplicación web de Microsoft Dynamics 365 mientras que otras son rutas las inicia la plataforma de Microsoft Dynamics 365 como parte de procesamiento normal de la cola asincrónica o debido a una llamada del servicio web. Por ejemplo, una operación asincrónica no puede pasar directamente del estado Suspendida al estado Bloqueada.

Un estado bloqueado indica que el servicio asincrónico está usando la instancia de AsyncOperation. Mientras está bloqueada no puede usarla ninguna otra instancia del servicio. Esto garantiza que la instancia no se ejecuta más de una vez, por ejemplo por dos servicios asincrónicos distintos.

Recuperación y actualización de estados de AsyncOperation

La supervisión y actualización del estado de una operación asincrónica normalmente se realiza interactivamente desde la cuadrícula Trabajos del sistema de la aplicación web de Microsoft Dynamics 365. Sin embargo, también puede usar el SDK para escribir código que realiza las mismas tareas.

Lectura del estado de una operación asincrónica

  1. Recupere una AsyncOperation por nombre mediante el método RetrieveMultiple o por Id. mediante el método Retrieve.

  2. Lea el atributo AsyncOperation.StateCode.

Cambio del código de estado

  1. Asigne un nuevo valor al atributo del código de estado recuperado de acuerdo con los estados de la operación permitidos. También puede cambiar el atributo AsyncOperation.PostponeUntil.

  2. LLame a Update para cambiar el valor de estos atributos en la base de datos.

Las operaciones anteriores también se pueden realizar a través del método Execute con los mensajes de solicitud adecuados. Los atributos de AsyncOperation distintos de AsyncOperation.StateCode y AsyncOperation.PostponeUntil deben considerarse de solo lectura.

Trabajos del sistema periódicos

No es posible cancelar, poner en pausa ni reanudar la mayoría de los trabajos del sistema. Consulte la siguiente lista para conocer algunos de estos trabajos del sistema restringidos. El valor de la primera columna es el valor del atributo OperationType de entidad AsyncOperation.

Tipo de operación asincrónica (valor de la opción)

Descripción de la operación

22

Calcular tamaño de almacenamiento máximo de la organización

18

Calcular tamaño de almacenamiento de la organización

19

Recopilar estadísticas de la base de datos de la organización

20

Recopilar estadísticas del tamaño de la organización

16

Recopilar estadísticas de la organización

9

Recolección de datos SQM

25

Índice del catálogo de texto completo de la organización

31

Notificador de límite de almacenamiento

24

Actualizar intervalos de estadísticas

27

Actualizar estados de contrato

Para obtener la lista completa de los tipos de operaciones asincrónicas admitidos, vea los metadatos de entidad AsyncOperation.Para ver los metadatos de la entidad de su organización, instale la solución Explorador de metadatos que se describe en Examinar los metadatos de la organización. También puede ver los metadatos de una organización no personalizada en una hoja de cálculo de Excel denominada EntityMetadata.xlsx que se incluye en la carpeta de nivel superior de la descarga del SDK.

Ver también

Servicio asincrónico en Microsoft Dynamics CRM 2015
Entidad AsyncOperation (trabajo del sistema)
Orden de ejecución y dependencia en operaciones asincrónicas

© 2017 Microsoft. Todos los derechos reservados. Copyright