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.
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
Recupere una AsyncOperation por nombre mediante el método RetrieveMultiple o por Id. mediante el método Retrieve.
Lea el atributo AsyncOperation.StateCode.
Cambio del código de estado
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.
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