|
@@ -1,6 +1,7 @@
|
|
|
|
|
|
import os
|
|
|
import shutil
|
|
|
+import subprocess
|
|
|
import time
|
|
|
import oss2
|
|
|
|
|
@@ -45,12 +46,41 @@ def parse_csv(data_bag, parse_prefix, local_parse_dir, local_delete_list):
|
|
|
oss_csv_object_key4 = parse_prefix + csv_file_name4 + '.csv'
|
|
|
bucket.put_object_from_file(oss_csv_object_key4, local_csv_file_path4)
|
|
|
|
|
|
-
|
|
|
- os.chdir(path2)
|
|
|
- command1 = './pji_outdoor_real ' + str(local_csv_dir) + '/ ' + str(local_csv_dir) + '/ ' + str(
|
|
|
- local_csv_dir) + '/trajectory.png ' + bagname
|
|
|
- logging.info("调用生成pdf 报告命令: %s" % str(command1))
|
|
|
- os.system(command1)
|
|
|
+
|
|
|
+ try:
|
|
|
+ os.chdir(path2)
|
|
|
+
|
|
|
+ command1 = ['./pji_outdoor_real',
|
|
|
+ os.path.join(local_csv_dir, ''),
|
|
|
+ os.path.join(local_csv_dir, ''),
|
|
|
+ os.path.join(local_csv_dir, 'trajectory.png'),
|
|
|
+ bagname]
|
|
|
+
|
|
|
+
|
|
|
+ logging.info("调用生成pdf 报告命令: %s" % ' '.join(command1))
|
|
|
+
|
|
|
+
|
|
|
+ process = subprocess.Popen(command1, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
|
|
+ stdout, stderr = process.communicate()
|
|
|
+
|
|
|
+
|
|
|
+ if stdout:
|
|
|
+ logging.info("命令的标准输出:")
|
|
|
+ logging.info(stdout.decode('utf-8'))
|
|
|
+ if stderr:
|
|
|
+ logging.error("命令的错误输出:")
|
|
|
+ logging.error(stderr.decode('utf-8'))
|
|
|
+
|
|
|
+
|
|
|
+ if process.returncode == 0:
|
|
|
+ logging.info("命令执行成功")
|
|
|
+ else:
|
|
|
+ logging.error("命令执行失败,退出码: %s" % process.returncode)
|
|
|
+
|
|
|
+ except OSError as e:
|
|
|
+
|
|
|
+ logging.error("在执行过程中发生错误: %s" % e)
|
|
|
+
|
|
|
oss_csv_object_key5 = parse_prefix + 'report.pdf'
|
|
|
bucket.put_object_from_file(oss_csv_object_key5, str(local_csv_dir) + '/report.pdf')
|
|
|
logging.info("pdf 报告生成并上传完成。")
|
|
@@ -141,4 +171,4 @@ if __name__ == '__main__':
|
|
|
logging.exception("捕获到一个异常: %s" % str(e))
|
|
|
except Exception as e:
|
|
|
logging.exception("全局错误处理: %s" % str(e))
|
|
|
- time.sleep(sleep_time)
|
|
|
+ time.sleep(sleep_time)
|