系统组件工作原理图及简要说明
系统组件:事件服务器、事件处理器、远程代理
事件处理器请求(1)事件服务器后获取相关作业信息(2)并将之通过代理连接(3)传递给远程代理(4),远程代理会往事件处理器发送回执表示已经接收相关作业内容(5)。然后远程代理开始运行客户端作业(6)并发起一个CHANGE_STATUS事件通知事件服务器作业状态为RUNNING(7),当客户端作业完成时会通过远程代理(8)向事件服务器发送程序结束状态码(9)。
该图来自http://viralpatel.net/blogs/autosys-create-manage-jobs-autosys-scheduler-job-monitoring-autosys/,如仍有内容不详请参加原文。
常见作业类型
Command - 可以是shell脚本或是可执行程序
Box - 作为可以包含其它作业的容器使用,能够组织和控制处理流程。如果其中包含的作业中没有指定开始运行条件的话,Box中的作业则会在Box满足运行条件时立即并行运行。
File watcher - 启动一个文件监控进程,用于检测文件是否存在以及文件大小。当文件大小达到某个最小检测值,并且不再继续增长时,File Watcher作业就算执行成功。
常见作业操作
autorep -> 列举出指定作业的各种相关信息 -> autorep -j <JOB_NAME>
job_depends -> 查看依赖条件 -> job_depends [-c | -d ] [-J job_name]
sendevent -> 作业控制 -> sendevent -j <JOBNAME> -e <EVENT>
EVENT的可用值说明
+ STARTJOB - 开始作业
+ FORCE_STARTJOB - 强制开始作业,不考虑其依赖条件与调度设置
+ KILLJOB - 关闭作业
+ DELETEJOB - 删除作业
+ JOB_ON_ICE - 与下面的ON_HOLD一样,ON_ICE也会阻止指定的作业运行,区别见下文
+ JOB_OFF_ICE - 与ON_ICE操作对立
+ JOB_ON_HOLD - 阻止指定的作业运行
+ JOB_OFF_HOLD - 与ON_HOLD操作对立
+ CHANGE_STATUS - 手动修过作业状态。当Autosys无法跟踪作业状态时可以使用该功能。比如说Autosys中报告出某个作业仍在运行,而时机上该作业并未运行,这时就可以使用命令“sendevent -j <JOB> -e CHANGE_STATUS -s STATUS”修改作业状态。其中的STATUS可以是ACTIVATED或FAILURE或INACTIVE或ON_HOLD或ON_ICE或QUE_WAIT或REFRESH_DEPENDENCIES或REFRESH_FILEWATCHER或RESTART或RUNNING或STARTING或SUCCESS或TERMINATED。
ON ICE与ON HOLD的区别
区别一,对于ON_HOLD的作业来说,如果在ON_HOLD期间曾经满足过运行条件,那么在OFF_HOLD后,作业会立即开始执行。而同样的情况不适用于OFF_ICE后的作业,OFF_ICE后的作业必须等待运行条件重新被满足才会运行。
区别二:依赖ON_HOLD作业的作业不会运行,而依赖于ON_ICE作业的作业会运行,此时ON_ICE作业的状态被视为SUCCESS。
Box作业特点
其最终状态取决于其包含的内部作业,只有被包含的全部作业都运行成功,它的状态才是成功,否则任一被包含作业运行失败,其状态则变为失败。定义Box作业时不需要指定机器名,机器名主要是为运行脚本和命令的作业服务,而Box作业只是一个作业容器与实际执行的进程无关,所以Box作业不需要机器名。
参考文章
http://viralpatel.net/blogs/autosys-create-manage-jobs-autosys-scheduler-job-monitoring-autosys/
http://www.directutor.com/content/autosys-job-handling
http://pmckinstry.wikidot.com/autosyscheatsheet
http://javarevisited.blogspot.com/2013/08/difference-between-on-hold-and-on-ice-jobs-autosys-interview-question.html
http://www.aptibook.com/Technical/Autosys-concepts-interview-questions
http://supportconnectw.ca.com/public/autosys/infodocs/autosys_cheatsheet.asp
https://supportcontent.ca.com/cadocs/0/CA%20Workload%20Automation%20AE%2011%203%206-ENU/Bookshelf.html