一、场景
- 制作一个web应用,在页面上配置一个json字符串,保存在数据库里面。在执行json的时候,动态在本地创建一个json文件后执行,并识别是否成功,将执行过程保存在数据库中。
- 写一个函数,传入json字符串
- 识别datax是否执行成功
- 获取执行过程的打印信息
- 提取执行成功的结果信息
二、代码实现
# -*- coding:utf-8 -*-
import re
import tempfile
import subprocess
def re_search(pattern, text, default=""):
search_obj = re.search(pattern, text)
return search_obj.group(1) if search_obj else default
def parse_datax_success_result(output):
# 提取执行成功的结果信息
return {
"start_time": re_search(r'启动时刻\s+:\s+(.*)', output),
"end_time": re_search(r'结束时刻\s+:\s+(.*)', output),
"total_time": re_search(r'总计耗时\s+:\s+(.*)', output),
"average_flow": re_search(r'平均流量\s+:\s+(.*)', output),
"write_speed": re_search(r'写入速度\s+:\s+(.*)', output),
"total_records": re_search(r'读出记录总数\s+: