def task(): while RUN: bug_beans = zen_tao_client.get_my_bug() # 过滤结果,并将最新数据放入缓存 new_beans = cache.filter_new("bug", bug_beans) cache.add("bug", bug_beans) if len(new_beans) != 0: tools.print_log(__name__ + "." + sys._getframe().f_code.co_name, "本次显示的bug:" + str(new_beans)) for bean in new_beans: msg_title = "当前有Bug指向您" msg_content = bean.title + "\n\t\n" msg_content += "级别:" + bean.level + "\n" \ + "类型:" + bean.error_type + "\n" \ + "From:" + bean.author tools.show_notify(msg_title, msg_content) else: pass if len(new_beans) != 0: sleep_time = len(new_beans) * 13 else: sleep_time = 1 time.sleep(sleep_time)
def execute(): """ # 从这里开始执行程序 :return: """ ########################################################### # 第零步:捕获终止信号量ready ########################################################### signal.signal(signal.SIGINT, exit_handler) signal.signal(signal.SIGTERM, exit_handler) ########################################################### # 第一步:读取配置文件并配置 ########################################################### kv = tools.scanner_config() zen_tao_client.ACCOUNT = kv["account"] zen_tao_client.PASSWORD = kv["password"] zen_tao_client.HOST = kv["host"] ########################################################### # 第二步:进行登录 ########################################################### is_login_success = zen_tao_client.login() if is_login_success: msg_title = "登录成功" msg_content = kv["account"] + " 已登录" msg_content += "\n\t\n当前版本:" + VERSION else: msg_title = "登录失败" msg_content = "请检查:\n" \ + "-您的用户名或密码是否正确\n" \ + "-您的host地址是否正确填写\n" \ + "-网络连接是否正常\n" \ + "\t\n当前版本:" + VERSION tools.show_notify(msg_title, msg_content) if not is_login_success: return ########################################################### # 第三步:开始任务 ########################################################### threads = [] task = loop_task.get_my_bug_loop_task() task.setDaemon(True) threads.append(task) for t in threads: t.start() ########################################################### # 第四步:进程终止流程 ########################################################### while True: alive = False for t in threads: alive = alive or t.isAlive() if not alive: break else: time.sleep(1) tools.show_notify("ZenTao-PMS-Auxiliary 已终止运行", "脚本已终止")