Todos los productos
Search
Centro de documentos

SchedulerX:Script jobs

Última actualización: Sep 21, 2026

Este tema describe cómo crear un trabajo de script mediante la escritura de un script en Shell, Python o PHP.

Cómo funciona

A continuación se muestra un diagrama que ilustra el funcionamiento de los trabajos de script.

yuque_diagram (1)

  1. Para usar trabajos de script, debe desplegar schedulerx-agent en las máquinas de destino. El agente se comunica con el servidor, recibe los comandos para ejecutar el script y devuelve los resultados de la ejecución.

  2. Instale todas las dependencias obligatorias del script en las máquinas de destino, como bibliotecas de Python u otros archivos.

  3. Cuando se ejecuta un script, schedulerx-agent bifurca un child process para ejecutarlo. Este proceso secundario consume memoria en la máquina host, no en el propio schedulerx-agent. La cantidad de memoria consumida depende de las operaciones del script. Si ejecuta varios trabajos de script de forma simultánea, puede agotar la memoria de la máquina. Para scripts que demandan muchos recursos, se recomienda usar Kubernetes job para ejecutarlos en un pod.

Requisitos previos

Crear un trabajo de script

Inicie sesión en la consola de SchedulerX. En el panel de navegación izquierdo, vaya a la página Task Management y create a job. Establezca Job Type en script job.

Introduzca un valor en Task Name y Description, seleccione un Application ID, establezca la priority (Medium de forma predeterminada) e introduzca los parámetros obligatorios en el campo Task Parameters.

Paso 1: Seleccione un lenguaje de script

Seleccione un Script Language. SchedulerX admite Shell, Python y PHP.

Paso 2: Comando de ejecución

Especifique el comando para ejecutar el script según el lenguaje:

  • Script de Shell: de forma predeterminada es /bin/sh.

  • Script de Python: de forma predeterminada es python. Puede cambiarlo a python2 o python3.

  • Script de PHP: de forma predeterminada es php.

Paso 3: Formato de archivo

Los formatos de archivo unix y windows usan distintos caracteres de fin de línea.

  • Si el script se va a ejecutar en un sistema Windows, seleccione windows.

  • Si el script se va a ejecutar en un sistema Linux/Unix/Mac, seleccione unix.

Importante

Si escribe el script en un sistema Windows pero lo ejecuta en un sistema Linux, establezca File format en unix.

Paso 4: Modo de ejecución

Requisito previo: debe estar desplegado schedulerx-agent. Para obtener más información, consulte Connect an agent (for Script or HTTP jobs).

Execution Mode:

  • Stand-alone operation: SchedulerX selecciona de forma aleatoria uno de los agentes desplegados para ejecutar el script.

  • Broadcast run: SchedulerX ejecuta el script de forma simultánea en todos los agentes desplegados. Este modo se usa para operaciones por lotes y tareas de mantenimiento.

  • Shard run: distribuye la ejecución del trabajo entre varios agentes. Para obtener más información, consulte Create a Python sharding job.

Escribir y editar el script

Después de crear un trabajo de script, SchedulerX genera una plantilla de script predeterminada según el lenguaje seleccionado. En la página Edit Script, haga clic en Edit Script para modificar el script.

La lista de trabajos muestra el Execution mode de cada uno (por ejemplo, Stand-alone operation) e incluye un botón EditScript para aplicar modificaciones.

Gestionar versiones de scripts

La página Edit Script incluye una función de historial de versiones del script. En la página EditScript, habilite el interruptor Historical versions para abrir la vista de comparación de versiones.

  • El panel izquierdo muestra la versión actual y el panel derecho muestra una versión histórica.

  • Seleccione una versión en la lista desplegable para consultar sus detalles, incluidas las notas de la versión y la fecha de creación.

  • Después de modificar el script, haga clic en Confirm e introduzca un nuevo version name cuando el sistema lo solicite.

Demostración

Broadcast run

  1. Conecte dos instancias de schedulerx-agent.

    En el panel Connected Instances, compruebe que ambas instancias (por ejemplo, 172.16.13.125 y 172.16.13.120) estén conectadas como pods de la versión 1.12.5 y que su health status sea Healthy.

  2. Cree un trabajo de script con Shell como Script Language y Execution Mode como Execution mode. Use el siguiente contenido de script:

    #!/bin/bash
    # #{schedulerx.shardingId} is the shard ID
    echo "shard ID: #{schedulerx.shardingId}"
    # #{schedulerx.shardingNum} is the total number of shards
    echo "total shards: #{schedulerx.shardingNum}"
    echo "hello world"
    exit 0
  3. En la columna Actions del trabajo de destino, haga clic en Run once.

  4. Vaya a la página Execution List. Busque la instancia del trabajo y haga clic en Log en la columna Operation para consultar la salida de cada máquina.

    • El registro de 172.16.13.125 indica que el identificador del fragmento es 1 y el total de fragmentos es 2.

      time : 2025-04-22 17:05:26
      ---
      ip : 172.16.13.125:34487
      executionId : 10496431_74039165530_1
      level : INFO
      log : total shards: 2
      time : 2025-04-22 17:05:26
      ---
      ip : 172.16.13.125:34487
      executionId : 10496431_74039165530_1
      level : INFO
      log : hello world
      time : 2025-04-22 17:05:26
      ---
      ip : 172.16.13.125:34487
      executionId : 10496431_74039165530_1
      level : INFO
      log : shard ID: 1
      time : 2025-04-22 17:05:26
    • El registro de 172.16.13.120 indica que el identificador del fragmento es 0 y el total de fragmentos es 2.

Shard run

  1. Cree un trabajo de script con Shell como Script Language y Execution Mode como Execution mode. Configure el resto de los ajustes del trabajo de la siguiente manera:

    Establezca Execution command en /bin/sh, File format en unix, Executor en Agent, Priority en Medium y Sharding parameter en 0=hangzhou,1=shanghai,2=beijing,3=shenzhen.

  2. Una vez creado el trabajo, haga clic en el botón Edit Script e introduzca el siguiente contenido de script:

    #!/bin/bash
    # #{schedulerx.shardingId} is the shard ID
    echo "shard ID: #{schedulerx.shardingId}"
    # #{schedulerx.shardingParameters} is the sharding parameter
    echo "sharding parameter: #{schedulerx.shardingParameters}"
    echo "hello world"
    exit 0
  3. En la columna Actions del trabajo de destino, haga clic en Run once.

  4. Vaya a la página Execution List. Busque la instancia del trabajo y haga clic en Log en la columna Operation para consultar el parámetro de fragmentación asignado a cada máquina.

    • Los registros indican que 172.16.13.120 se ejecutó dos veces y procesó los fragmentos hangzhou y beijing.

    • Los registros indican que 172.16.13.125 también se ejecutó dos veces y procesó los fragmentos shenzhen y shanghai.

Documentación relacionada

Para consultar la lista de variables del sistema integradas, consulte System variables for script jobs.