Partekatu honen bidez:


Orden de ejecución y dependencia en operaciones asincrónicas

 

Publicado: noviembre de 2016

Se aplica a: Dynamics CRM 2015

Una operación asincrónica puede depender de otra operación asincrónica. Una operación asincrónica dependiente no se ejecuta hasta que la operación de la que es dependiente haya terminado ejecutarse. Por ejemplo, si la operación asincrónica B es dependiente de la operación asincrónica A, b de operación no se ejecuta hasta después de que se ejecute y se complete la operación A. Esta dependencia entre las operaciones asincrónicas se define al establecer el atributo de AsyncOperation.DependencyToken, que puede contener los valores de cadena. Cualquier operación asincrónica dependiente debe tener el mismo valor que AsyncOperation.DependencyToken .

La plataforma de Microsoft Dynamics 365 establece qué operación asincrónica es dependiente cuando las operaciones se crean en la cola asincrónica. Por ejemplo, considere tres operaciones asincrónicas denominadas A, B y C, donde B y C deben ejecutarse solo después de que A se complete. Para establecer las dependencias correctas, A debe crearse primero en la cola, seguido por B y C. Esto se debe a que el orden en que se crean las operaciones establece la secuencia de su ejecución. En este ejemplo, las tres operaciones asincrónicas tienen el mismo AsyncOperation.DependencyToken. En el tiempo de ejecución, A se ejecute en primer lugar. Una vez que se completó A, B se ejecuta al finalizar y luego C se ejecuta hasta completarse.

En el ejemplo anterior, si se pospone la operación B, la operación A se ejecuta hasta completarse y la operación C está bloqueada hasta que la operación B ya no esté pospuesta y se ejecute hasta completarse. Puede posponer la ejecución de una operación asincrónica mediante el atributo de AsyncOperation.PostponeUntil.

Cualquier operación asincrónica con un valor de AsyncOperation.DependencyToken de null se ejecuta independientemente de todas las operaciones asincrónicas en la cola. No se garantiza el orden de ejecución con respecto a otras operaciones independientes. Sin embargo, las operaciones asincrónicas creadas previamente tienen mejores posibilidades de ejecución antes que las operaciones creadas más adelante.  Esto da por hecho que las operaciones no se posponen y no se establecen en un estado de Completado.

El símbolo (token) de dependencia debe establecerse cuando se crea la operación asincrónica. Puesto que Microsoft Dynamics 365 crea operaciones asincrónicas en las operaciones masivas como correo electrónico masivo, eliminación e importación masiva no puede usar el símbolo de dependencia para esas operaciones. Además, el símbolo de dependencia no se puede usar para la ejecución del pedido del complemento registrados asincrónico porque la operación asincrónica que ejecuta los complementos es creada por el Administrador de cola. Para obtener más información, consulte Arquitectura de servicio asincrónico.

Ver también

Servicio asincrónico en Microsoft Dynamics CRM 2015
Patrón de periodicidad en la ejecución de trabajo asincrónico

© 2017 Microsoft. Todos los derechos reservados. Copyright