Share via


Control de actividades de runbook

Importante

Esta versión de Orchestrator ha llegado al final del soporte técnico. Se recomienda actualizar a Orchestrator 2022.

Para establecer la secuencia de operaciones en runbooks, vincule las actividades en el Designer de Runbook. Estos vínculos se conocen como vínculos inteligentes porque puede configurarlos para controlar el tipo de datos pasados de una actividad a otra. También puede controlar cuándo el runbook completa las actividades estableciendo la lógica para cuando esas operaciones se ejecutan con bucles incrustados. Por último, puede usar operaciones numéricas y de texto para manipular los datos a medida que pasan entre actividades o para establecer condiciones para el orden de las operaciones. En este artículo se describe cómo controlar la secuenciación y manipular datos dentro del runbook.

Las actividades del runbook se completarán según el orden establecido al vincularlas juntas. Puede controlar los datos que fluyen entre las actividades mediante las pestañas Incluir y Excluir de las propiedades de vínculo. Por ejemplo, solo podría incluir datos que se pasarán a la actividad posterior que cumpla con un criterio determinado.

Importante

Las reglas de la pestaña Excluir tienen prioridad con respecto a las reglas de la pestaña Incluir de la conexión inteligente.

Importante

Las reglas de cada pestaña se combinan mediante una condición o . Basta con que se cumpla una de las condiciones definidas en una pestaña para que la condición sea verdadera.

El tipo de datos publicados por una actividad determina el tipo de criterios que puede establecer para controlar la secuencia del runbook. Algunas actividades publican datos binarios y otros publican datos numéricos o de texto.

Si los datos publicados son datos de texto, puede usar cualquiera de las siguientes opciones para establecer los criterios de ejecución, inclusión o exclusión.

Condición Descripción
contains El texto especificado aparece en algún lugar del valor del elemento Datos publicados.
no contiene El texto especificado no aparece en ningún lugar del valor del elemento Datos publicados.
empieza por El valor del elemento Datos publicados empieza con el texto especificado.
termina por El valor del elemento Datos publicados termina con el texto especificado.
coincide con el patrón El valor del elemento Datos publicados coincide con la expresión regular específica.
no coincide con el patrón El valor del elemento Datos publicados coincide con la expresión regular específica.
es igual a El valor del elemento Datos publicados coincide exactamente con el texto especificado.
no es igual a El valor del elemento Datos publicados no coincide con el texto especificado.

Nota

Los valores de texto no distinguen mayúsculas de minúsculas.

También puede establecer criterios mediante expresiones regulares para realizar la coincidencia de patrones.

Si los datos publicados son numéricos, puede usar cualquiera de los siguientes para establecer los criterios de ejecución, inclusión o exclusión.

Condición Descripción
es igual a El valor del elemento Datos publicados es exactamente igual que el valor especificado.
no es igual a El valor del elemento Datos publicados no es igual al valor especificado.
es menor que El valor del elemento Datos publicados es menor que el valor especificado.
es mayor que El valor del elemento Datos publicados es mayor que el valor especificado.
es menor o igual que El valor del elemento Datos publicados es menor o igual que el valor especificado.
es mayor o igual que El valor del elemento Datos publicados es mayor o igual que el valor especificado.
está comprendido entre El valor del elemento Datos publicados está entre dos valores especificados.

Seleccione la pestaña necesaria para los pasos para agregar o quitar una condición de vínculo inteligente:

Repetición de actividades con bucles incrustados

Mediante el uso de bucles, puede generar reintentos automáticos y supervisar cualquier ubicación de un Runbook.

Puede crear un bucle para cualquier actividad para que pueda reintentar operaciones si producen un error o prueban la información de salida de la actividad para obtener datos válidos. También puede usar estos mecanismos para generar las condiciones de espera en los flujos de trabajo.

Al configurar un bucle para una actividad, seguirá ejecutándose con los mismos datos de entrada hasta que se alcance un criterio de bucle de salida deseado. Los criterios de salida del bucle se compilan de forma similar a las configuraciones de vínculo inteligente. Puede usar cualquier elemento de datos publicado de la actividad como parte de la salida o no salir de la configuración. Los datos publicados comunes se incluyen en elementos de datos especiales, como Bucle: Número de intentos y Bucle: Duración total, que le permiten usar información del propio bucle en las condiciones de bucle.

Los bucles se ejecutan una vez para cada fragmento de datos entrante que se pasa a la actividad. Por ejemplo, considere un runbook que usa una actividad de base de datos de consulta seguida de Append Line. Si la actividad Query Database devolvió tres filas, la actividad Append Line se ejecutaría tres veces. Si tiene un bucle en la actividad Append Line , ejecutaría tres bucles independientes. Después de que el primer elemento de datos haya recorrido en bucle la actividad Append Line , el siguiente elemento pasa por Append Line y recorre bucles hasta que se cierra y, a continuación, comienza el tercero. Una vez procesados los tres elementos, se ejecuta la siguiente actividad del runbook.

Configuración de bucles

  1. Haga clic con el botón derecho en una actividad del runbook para seleccionar Bucle. Se abre el cuadro de diálogo Propiedades de bucle .

  2. En la pestaña General , seleccione Habilitar.

  3. En el cuadro Retraso entre intentos , escriba el número de segundos que se pausan entre cada intento de ejecución de la actividad.

Condiciones de salida y no salida

Las reglas de la pestaña Salir especifican las condiciones que determinan si el bucle sale. Las reglas de la pestaña No salir especifican las condiciones que hacen que el bucle continúe.

Importante

Las reglas de la pestaña No salir reemplazan las reglas de la pestaña Salir .

Las reglas de cada pestaña se unen mediante una condición Or . Basta que se cumpla una de las condiciones de una pestaña para que toda la pestaña sea verdadera.

Seleccione la pestaña necesaria para el procedimiento para agregar o quitar una condición Exit :

Siga estos pasos para agregar una condición de salida:

  1. En el cuadro de diálogo Propiedades de bucle, seleccione la pestaña Salir o la pestaña No salir y, a continuación, seleccione la condición que aparece en el cuadro Seleccione Agregar para agregar una condición.

    Importante

    Para cambiar los valores que componen la regla, debe seleccionar cada parte subrayada de la condición de vínculo.

  2. Seleccione la actividad enumerada en la condición para abrir el cuadro de diálogo Datos publicados .

  3. Active la casilla Mostrar datos devueltos comunes para mostrar las propiedades que son comunes a todas las actividades.

  4. Seleccione una propiedad de los datos publicados y, a continuación, seleccione Aceptar. La expresión de criterios cambia según el tipo de datos que devuelve la propiedad.

  5. Para cambiar las distintas partes de la expresión, seleccione el texto subrayado y seleccione o escriba un valor adecuado.

  6. Seleccione Finalizar.

Establecimiento de una programación para un runbook

Puede establecer una programación para controlar cuándo se ejecuta un runbook. Por ejemplo, hay ocasiones en las que es inadecuado ejecutar algunos runbooks, como realizar una copia de seguridad de un runbook en un servidor principal durante el horario comercial normal. Puede crear una programación que se ejecute según un intervalo complejo, como el primer y el tercer lunes y jueves de cada mes, salvo en días festivos.

Las programaciones utilizan el reloj del sistema del servidor de Runbook que ejecuta el Runbook. Esto permite que las programaciones funcionen en entornos de máquina virtual y sigan ejecutándose incluso cuando el reloj del sistema se ajuste al pasar a (o salir de) horario de verano.

Runbooks que comienzan antes de una ejecución de tiempo prohibido hasta que termine, incluso si siguen procesando cuando llega el tiempo prohibido. No se interrumpirán después de que se haya iniciado el procesamiento.

Importante

Los permisos de acceso para las programaciones se pueden modificar, pero el servidor de runbook no aplica estos permisos.

Nota

Si programa un runbook para iniciarse durante una hora que se omite cuando el reloj del sistema se ajusta hacia delante en una hora, se omite esa hora de inicio y el runbook se inicia a la próxima hora programada. Si programa un runbook para que se inicie durante una hora que se produzca dos veces porque el reloj del sistema se ajusta hacia atrás en una hora, el runbook se inicia dos veces.

Nota

Orchestrator no admite mover varias programaciones con selección múltiple. Para mover más de una programación a otra carpeta, debe mover cada programación por separado.

Seleccione la pestaña necesaria para crear una programación, asignar una programación a un runbook o quitar una programación de un runbook:

Siga estos pasos para crear una programación:

  1. En el panel Connections, haga clic con el botón derecho en la carpeta Programaciones o en una subcarpeta de la carpeta Programaciones, seleccione Nuevoy, a continuación, seleccione Programar para abrir el cuadro de diálogo Nueva programación.

  2. En la pestaña General , en el cuadro Nombre , escriba un nombre para la programación.

  3. En el cuadro Descripción , escriba una descripción que describa o explique el propósito de la programación.

  4. Seleccione la pestaña Detalles . Seleccione los días que esta programación permite que los runbooks se ejecuten:

    Días de la semana: seleccione esta opción y seleccione los días de la semana cuando esta programación permite que se ejecuten runbooks.

    Repetición: Seleccione las semanas del mes en que la programación permite ejecutar Runbooks.

    Días del mes: Seleccione esta opción y seleccione los días del mes en que esta programación permite ejecutar Runbooks. Use los números de los días para especificar los días del mes. Puede usar guiones para describir intervalos y comas para separar entradas. Por ejemplo, escribir 1,3 incluye el primer y tercer día del mes. Entrar 1-21 incluye el primero hasta el veintiun primer día del mes. Puede combinar guiones y comas para crear descripciones complejas de los días del mes. Escriba todo para especificar todos los días del mes. Escriba último para especificar el último día del mes.

    No puede usar todo y último como parte de un intervalo de días. Además, si ha especificado un intervalo de 5-31, este intervalo funciona correctamente para todos los meses, incluidos los con 28, 29, 30 y 31 días.

  5. Seleccione Horas para abrir el cuadro de diálogo Horario horario .

  6. Seleccione y arrastre para seleccionar un grupo de horas en una semana. El texto de la parte inferior del cuadro de diálogo muestra el período de tiempo seleccionado. A continuación, seleccione una de las opciones siguientes:

    Permitir (azul): asigna el período de tiempo que seleccionó como una hora en la que se permite la ejecución de Runbooks.

    Denegado (blanco): asigna el período de tiempo que seleccionó como una hora en la que no se permite la ejecución de Runbooks.

  7. Seleccione Aceptar.

  8. Seleccione la pestaña Excepciones . La lista muestra todos los días que son excepciones a las reglas definidas en la pestaña Detalles .

  9. Seleccione Agregar para abrir el cuadro de diálogo Fecha .

  10. Especifique la fecha y seleccione Permitir o No permitir permitir que el runbook se ejecute en ese día y, a continuación, seleccione Aceptar. La entrada aparece en la lista.

  11. Para modificar una entrada de excepción, selecciónela y, a continuación, seleccione Modificar. Para quitar la entrada Excepción, selecciónela y, a continuación, seleccione Quitar.

  12. Para modificar una programación, haga doble clic en Programación.

  13. Para quitar una programación, haga clic con el botón secundario en Programacióny, a continuación, seleccione Eliminar.

  14. Seleccione Finalizar.

Manipular datos con funciones

Es posible que tenga que manipular datos de cadena de archivos de texto, datos devueltos u otros orígenes y convertirlos en un formulario utilizable para las actividades del runbook. Además, puede realizar operaciones aritméticas sencillas, como calcular sumas y diferencias y realizar operaciones de división y multiplicación. Por ejemplo, puede extraer texto de un archivo de texto mediante la actividad Administración de archivo de texto , quitar los espacios iniciales y finales del texto, y después recuperar partes específicas del texto que puede pasar a otras actividades como elementos de datos devueltos.

Para manipular datos en el runbook, inserte una función. Las funciones de manipulación de datos deben escribirse entre corchetes ('[' y ']'). Por ejemplo:

[Upper('this will be inserted in upper case')]

Cuando se ejecuta la actividad, el texto 'esto se convertirá a mayúsculas' del ejemplo se reemplaza con 'ESTO SE CONVERTIRÁ A MAYÚSCULAS'.

Se distinguen mayúsculas de minúsculas en los nombres de funciones. Por ejemplo, se procesará Upper('Texto'), pero no upper('Texto').

En la tabla siguiente se enumeran las funciones admitidas para runbooks.

Función y definición Uso Parámetros Ejemplo
Upper: convierte texto a mayúsculas. Upper('Texto') Texto: texto que se va a convertir a mayúsculas. Upper('esto se convertirá a mayúsculas') devuelve 'ESTO SE CONVERTIRÁ A MAYÚSCULAS'
Lower: convierte texto a minúsculas. Lower('Texto') Texto: texto que se va a convertir a minúsculas. Lower('Esto se convertirá a minúsculas') devuelve 'esto se convertirá a minúsculas'
Field: devuelve texto en una posición específica. Field('Texto', 'Delimitador', Número de campo) Text: el texto que se busca.

Delimiter: el carácter que separa cada campo.

Field Number: la posición del campo devuelto (empieza en 1).
Field('Fabricio;Noriega; 9055552211', ';', 2) devuelve 'Noriega'
Sum: devuelve la suma de un conjunto de números. Sum(primerNúmero, segundoNúmero, tercerNúmero,...) Number: número que se va a agregar. Puede utilizar cualquier conjunto de números, separados por una coma (,). Sum(2,3,4,5) devuelve '14'
Diff: devuelve la diferencia entre dos números. Diff(Number1, Number2, <Precision>) Number1: el número del que se va a restar.

Number2: el número que se va a restar de Number1.

Precisión <opcional> : número de posiciones decimales a las que se redondeará el resultado.
Diff(9, 7) devuelve '2'

Diff(9.3, 2.1, 2) devuelve '7.20'
Mult: devuelve el producto de un conjunto de números. Mult(primerNúmero, segundoNúmero, tercerNúmero, ...) Number: número que se va a multiplicar. Puede utilizar cualquier conjunto de números, separados por una coma (,). Mult(2, 3, 4) devuelve '24'
Div: devuelve el cociente de dos números. Div(Number1, Number2, <Precision>) Number1: el número que se va a dividir.

Number2: el número por el que se va a dividir Number1.

Precisión <opcional> : número de posiciones decimales a las que se redondeará el resultado.
Div(8, 4) devuelve '2'

Div(9, 2, 2) devuelve '4.50'
Instr: devuelve la posición de la primera aparición del texto en otro texto. InStr('Texto', 'TextoBuscado') SearchText: el texto en el que se va a buscar.

TextToFind: el texto que se va a buscar.
InStr('Una cadena en la que se busca', 'cadena') devuelve 11
Right: devuelve un subconjunto del texto del lado derecho del texto completo. Right('Texto', Longitud) Text: el texto completo.

Length: el número de caracteres del lado derecho que se van a devolver.
Right('Capturar desde la derecha', 9) devuelve 'la derecha'
Left: devuelve un subconjunto del texto del lado izquierdo del texto completo. Left('Texto', Longitud) Text: el texto completo.

Length: el número de caracteres del lado izquierdo que se van a devolver.
Left('Capturar desde la izquierda', 4) devuelve 'Capturar'
Mid: devuelve un subconjunto del texto del centro del texto completo. Mid('Texto', Inicio, Longitud) Text: el texto completo.

Start: la posición inicial del texto desde la que se desea empezar a devolver caracteres.

Length: el número de caracteres que se devolverán desde la posición inicial.
Mid('Capturar desde la parte central', 5, 4) devuelve 'desde'
LTrim: quita los espacios iniciales del texto. LTrim('Texto') Text: el texto del que se van a quitar los espacios iniciales. LTrim(' Quite solo los espacios iniciales. ') devuelve 'Quitar solo los espacios iniciales. '
RTrim: quita los espacios finales del texto. RTrim('Texto') Text: el texto del que se van a quitar los espacios finales. RTrim(' Quite solo los espacios finales. ') devuelve " Quitar solo los espacios finales".
Trim: quita los espacios iniciales y finales del texto. Trim('Texto') Text: el texto que se va a quitar. Trim(' Quita los espacios iniciales y finales. ') devuelve 'Quitar espacios iniciales y finales'.
Len: devuelve la longitud del texto. Len('Texto') Text: el texto que se va a medir. Len('Medir este texto') devuelve 17

Nota

Se distinguen mayúsculas de minúsculas en los nombres de funciones. Por ejemplo, se procesará Upper('Texto'), pero no upper('Texto').

Pasos siguientes

Para leer un tutorial guiado sobre cómo crear un runbook de ejemplo, consulte Creación y prueba de un runbook de ejemplo.