2009-09-26 50 views
8

Usamos AutoSys para la programación de trabajos, y me encuentro escribiendo muchos scripts JIL (lenguaje de instrucciones de trabajo) para eliminar cuadros y volver a insertarlos debido a pequeños cambios de trabajo (por ejemplo, hora de inicio, etc.) . ¿Hay algún comando de actualización que se pueda usar? El AutoSys de CA cheat sheet no tiene información sobre uno.Actualización del programador AutoSys JIL

Respuesta

18

Sí,

Es la update_job: atributo.

Ejemplo para cambiar el cuadro de BOX_A hora de inicio a 15:00 de 14:00

update_job: BOX_A 
start_times: "15:00" 

Guardar esto en un archivo y ejecutarlo usando Jil < filename.jil

+0

El punto clave es salvar esto en una file y luego use jil

+0

Como alternativa, puede escribir jil en un indicador de Unix y luego escribir su comando de trabajo autosys –

0

update_job: YOUR_JOB_NAME start_times: 04:00

+0

Agregue algunas explicaciones para otros lectores. –

1

Puedes usar UPDATE_JOB. Tenga en cuenta que si usa esto y su actualización es para eliminar el start_times (en lugar de simplemente actualizarlo), lo que va a hacer con su update_job jil es incluir la entrada start_times pero no especificar ningún valor. Vea la muestra a continuación:

update_job: BOX_A 
start_times: 

Lo anterior eliminará el start_times del trabajo. Si solo elimina los start_times en su actualización de jil, start_times no se actualizará y permanecerá en el jil.

0

Chicos, si está interesado, puede crear un trabajo de autosys para actualizar otro trabajo. La salida siguiente se puede colocar en un archivo jil para crear un trabajo de autosys que, cuando se inicie, eliminará sa de un trabajo que se ejecuta los 7 días de la semana. Tengo muchos trabajos en la base de datos que de vez en cuando no necesitan ejecutarse durante un fin de semana de construcción, es decir, el sábado.

 -------------This goes in the jil file------------------- 
     /* ----------------- update_job_date ----------------- */ 

    insert_job: update_job_date job_type: c 
    box_name: update_job_attributes 
    command: echo "update_job\: runs_every_day job_type\: c days_of_week\: mo,tu,we,th,fr,su" | jil 
    machine: localhost 
    owner: [email protected] 
    permission: gx,wx 
    condition: d(job1) 
    description: "change date for update_job_date" 
    std_out_file: "$TEMP_PATH/$AUTO_JOB_NAME.log" 
    std_err_file: "$TEMP_PATH/$AUTO_JOB_NAME.log" 
    alarm_if_fail: 1 
    profile: /home/variables_autosys 

    -------------This goes in the jil file------------------- 
0

Entiendo lo que hace la actualización y que puede actualizar muchos otros atributos. El ejemplo anterior no requiere la creación de un archivo jil para realizar la actualización.

Mi ejemplo anterior es para un escenario en el que un usuario necesita hacer esto para mantenimiento de mantenimiento. Entonces, en ese caso, crean una caja de mantenimiento con los trabajos que se requieren para activar y desactivar ciertos atributos de autosys en los trabajos. Me resulta fácil ver todo en una caja y luego puedes crear otro trabajo para poner las cosas de nuevo.

No muchas personas saben que puede ejecutar un comando de actualización jil desde la interfaz gráfica. todo lo que tiene que hacer es especificar esto en la línea de comandos

 command: echo "update_job\: runs_every_day job_type\: c start_times\: " | jil 
0

Una cosa que es posible que tenga que considerar al introducir sus órdenes directamente de Jil CLI, esa salida tiene que ser escrito después de terminar su commands.Otherwise se podría no tener efecto. Esto pasó conmigo hace unos días.

Así pues, si resultamos que ha introducido los comandos en JIL y no le llevó efecto, intenta escribir de salida al final de la prompt.Something como:

jil>> update_job: xyz <Enter> 
jil>>1>start_times: 11:00 <Enter> 
jil>>2>exit <Enter> 
Cuestiones relacionadas