• doc


    一,简介
      Jid: job id 格式为%Y%m%d%H%M%S%f
      master在下发指令消息时,会附带上产生的jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var/cache/salt/minion)
      下的proc目录产生已该jid命名的文件,用于在执行过程中master查看当前任务的执行情况,指令执行完毕将结果传送给master后,删除该
      临时文件
      master将minion的执行结果存放在本地/var/cache/salt/master/jobs目录,默认缓存24小时(可通过修改master配置文件keepjobs选项调整)

    1  salt '*' test.ping -v          ##可以显示任务的Jid,-v 显示命令执行的详细过程2 [root@zabbixserver79 haifeng18]# salt '*' test.ping -v
    3 Executing job with jid 20160421214402034735
    4 -------------------------------------------
    5 192.168.10.11:
    6 True
    7 .........

    https://github.com/saltstack/salt/pull/12365             ##salt-master -v时显示详细的执行结果
      wrapper returns summary to a function           ##点击这个将代码加入到master中

    二,Job基本管理

     saltutil模块中的job管理方法
      1, saltutil.running           ##查看minion当前正在运行的jobs

     1 [root@zabbixserver79 ~]# salt '* saltutil.running
     2 192.168.10.11:
     3     |_
     4       ----------
     5       arg:
     6           - sleep 30
     7       fun:
     8           cmd.run
     9       jid:
    10           20160422112349721480
    11       pid:
    12           20379
    13       ret:
    14       tgt:
    15           192.168.10.11 
    16 tgt_type: 17 glob 18 user: 19 sudo_root

      2, saltutil.find_job <jid>    ##查看指定jid的job(minion正在运行的jobs)

     1 [root@zabbixserver79 ~]# salt '*' saltutil.find_job 20160422114120923967    ##首先执行saltutil.running 查看jid
     2 192.168.10.11:
     3     ----------
     4     arg:
     5         - sleep 30
     6     fun:
     7         cmd.run
     8     jid:
     9         20160422114120923967
    10     pid:
    11         23577
    12     ret:
    13     tgt:
    14         192.168.10.11
    15     tgt_type:
    16         glob
    17     user:
    18         sudo_root

      3,saltutil.signal_job <jid> <single>   ##给指定的jid进程发送信号

    1 [root@zabbixserver79 ~]# salt '*' saltutil.signal_job 20160422114328898570 9 
    2 192.168.10.11:
    3     Signal 9 sent to job 20160422114328898570 at pid 24281

       4,saltutil.term_job <jid>       ##终止指定的jid进程(信号为15)

    1 [root@zabbixserver79 ~]# salt '*' saltutil.term_job 20160422114528346315
    2 192.168.10.11:
    3     Signal 15 sent to job 20160422114528346315 at pid 24737

      5,saltutil.kill_job <jid>         ##终止指定的jid进程(信号为9)同上,不在演示

      salt runner中的job管理方法:

      1,salt-run jobs.active          ##查看所有minion当前正在运行的jobs(在所有minion上运行saltutil.running)

     1 [root@zabbixserver79 ~]# salt-run jobs.active
     2 20160422115130700923:
     3     ----------
     4     Arguments:
     5         - sleep 30
     6     Function:
     7         cmd.run
     8     Returned:
     9     Running:
    10         |_
    11           ----------
    12           192.168.10.11:
    13               25659
    14     Target:
    15         192.168.10.11
    16     Target-type:
    17         glob
    18     User:
    19         sudo_root

      2, salt-run jobs.lookup_jid <jid>        ##从master jobs cache 中查询指定jid的运行结果

     1 [root@zabbixserver79 jobs]# salt-run jobs.lookup_jid 20160421215616643464
     2 192.168.10.11:
     3     ----------
     4     arg:
     5         - sleep 20
     6     fun:
     7         cmd.run
     8     jid:
     9         20160421215601609702
    10     pid:
    11         27040
    12     ret:
    13     tgt:
    14         192.168.10.11
    15     tgt_type:
    16         glob
    17     user:
    18         sudo_root

      3,salt-run jobs.list_jobs         ##列出当前master jobs cache 中的所有job

  • 相关阅读:
    Linux进程间通信之信号量
    C语言文件操作
    Linux多线程同步方法
    Linux进程间通信之共享内存
    关于P2P下载的思考
    学习Jxta,初窥门径
    庆祝一下,基于JXTA的P2P文件共享传输文件测试成功。
    关于java nio在windows下实现
    Java aio和JSR 203
    关于文件目录的P2P共享问题
  • 原文地址:https://www.cnblogs.com/phennry/p/5420763.html
Copyright © 2020-2023  润新知