python 异步协程处理数据

2021.9.27==引入  (未分装,直接引用)
项目实践:只引用关键步骤,定时执行(间隔1分钟),目的是为了协程实现接口监控报警
import jsonschema
from jsonschema import validate, draft7_format_checker
from jsonschema.exceptions import SchemaError, ValidationError
pool = ThreadPoolExecutor(max_workers=1)
 
def check_update_by_sql_online():        
  #定义一个线程池:
  while True:
    with ThreadPoolExecutor(max_workers=len(data)) as pool:
      task_list = []
      for ind in range(len(data)):
        #runTask是执行函数   关键:pool.submit实现异步协程处理函数
        task_list.append(pool.submit(runTask,  param1, param2)
    
      arr = []
      #计时判断
      if hi_errmsg_time>10:
        hi_errmsg_time = 0
      #拿出异步执行函数结果  执行结果有runTask函数返回数据
      for task in task_list:
        #如返回结果task.result()[0]
        arr.append(task.result()[0])
        if hi_errmsg_time == 10:  #10分钟
          #执行报警通知
          sayHello()
      time.sleep(60)
      hi_errmsg_time = hi_errmsg_time + 1
      #获取各个执行结果
      getArr(arr)
if __name__ == '__main__':
    check_update_by_sql_online()
 
以上只是一个简单例子;还可以greenlet库、gevent库实现协程
 
 
 
posted @ 2021-09-27 14:16  再一次我愿丢弃所有  阅读(198)  评论(0编辑  收藏  举报