Prácticas recomendadas para los procesos de flujo de trabajo en segundo plano

Este tema contiene las prácticas recomendadas para crear y administrar procesos de flujo de trabajo en segundo plano.

Evitar bucles sin fin

Es posible crear lógica en un flujo de trabajo en segundo plano que inicie un bucle sin fin, que consuma recursos de servidor y que afecte al rendimiento. La situación típica en que puede producirse un bucle sin fin es si tiene un flujo de trabajo en segundo plano configurado para iniciarse cuando se actualice una columna y dicha columna se actualice en la lógica del flujo de trabajo. La acción de actualización desencadena el mismo flujo de trabajo en segundo plano que actualiza la fila y desencadena el flujo de trabajo en segundo plano una y otra vez.

Los flujos de trabajo que cree incluyen lógica para detectar y detener bucles infinitos. Si un proceso de flujo de trabajo en segundo plano se ejecuta más de un número de veces determinado en una fila específica en un período de tiempo corto, el proceso produce el siguiente error: Esta tarea de flujo de trabajo se canceló porque el flujo de trabajo que la inició incluía un bucle infinito. Corrija la lógica del flujo de trabajo e inténtelo de nuevo. El límite de veces es 16.

Utilice plantillas de flujo de trabajo en segundo plano

Si tiene flujos de trabajo que sean similares y prevé crear más flujos de trabajo que sigan el mismo patrón, guarde el flujo de trabajo en segundo plano como una plantilla de flujo de trabajo. De esta manera, la próxima vez que necesite crear el flujo de trabajo en segundo plano, evitará tener que especificar todas las condiciones y acciones desde cero.

En el cuadro de diálogo Crear proceso, elija Proceso nuevo a partir de una plantilla existente (seleccionar en la lista).

Usar flujos de trabajo secundarios

Si aplica la misma lógica en diferentes flujos de trabajo o en ramas condicionales, defina dicha lógica como un flujo de trabajo secundario para que no tenga que replicarla manualmente en cada flujo de trabajo en segundo plano o rama condicional. Esto facilita el mantenimiento de los flujos de trabajo. En lugar de explorar muchos flujos de trabajo que podrían aplicar la misma lógica, solo puede actualizar un flujo de trabajo.

Eliminación automática de las tareas de flujo de trabajo en segundo plano completadas

Para los flujos de trabajo (asincrónicos) en segundo plano, se recomienda seleccionar la opción Eliminar automáticamente las tareas de flujo de trabajo completadas (para ahorrar espacio en disco) en la definición de flujo de trabajo en segundo plano. Al seleccionar esta casilla se permite al sistema eliminar los registros de flujo de trabajo en segundo plano de las ejecuciones correctas, para ahorrar espacio. Tenga en cuenta que las ejecuciones de flujo de trabajo en segundo plano con errores siempre se guardarán para la solución de problemas.

Retención de la tarea del flujo de trabajo.

Limite el número de flujos de trabajo que actualicen la misma tabla

Ejecutar más de un flujo de trabajo en segundo plano que actualice la misma tabla podría provocar problemas de bloqueo de recurso. Imagine varios flujos de trabajo ejecutándose donde cada actualización de oportunidad desencadena una actualización de la cuenta asociada. Las varias instancias de estos flujos de trabajo que se ejecutan y que tratan actualizar la misma fila de cuenta a la vez puede dar lugar a problemas de bloqueo de recurso. Los errores de flujo de trabajo en segundo plano aparecen y se registra un mensaje de error, como Se ha agotado el tiempo de espera de SQL: no se puede obtener un bloqueo en el recurso nombre de recurso.

Usar Notas para realizar un seguimiento de cambios

Cuando edite flujos de trabajo, debe usar la pestaña Notas y escribir lo que ha hecho y por qué. Esto permite al resto entender los cambios que ha realizado.

Pasos siguientes

Configurar procesos de flujo de trabajo en segundo plano
Supervisar y administrar procesos de flujo de trabajo en segundo plano