Exemplo n.º 1
0
def recv_callback(msg):  #获取消息传来的值作为参数处理
    yml_temp_name, args, id = pickle.loads(msg.body)
    pb = os.path.join(os.path.join('/root', yml_temp_name),
                      'main.yml')  #拼合剧本路径
    #print pb
    #print args
    status = ansible_book(pb, args, id)
    job = Jobs()
    for key, value in json.loads(status).items():
        if value['unreachable'] != 0:
            #更新任务状态
            job.Simple_update(finished=datetime.now(), status=1, id=id)
        elif value['failures'] != 0:
            job.Simple_update(finished=datetime.now(), status=2, id=id)
        else:
            job.Simple_update(finished=datetime.now(), status=3, id=id)