Commit 7c5cf8c9ed41fd1e9e273665e8ae9122ea2fc732

Authored by Hu Chunming
1 parent 7ded47c9

优化GetTaskStatus接口

src/ai_platform/Makefile deleted
1   -# 各项目录
2   -LIB_DIR:=$(BUILD_DIR)/$(MODULE)/lib
3   -DEP_DIR:=$(BUILD_DIR)/$(MODULE)/.dep
4   -OBJ_DIR:=$(BUILD_DIR)/$(MODULE)/obj
5   -SRC_DIR:=$(TOP_DIR)/$(MODULE)
6   -
7   -# 源文件以及中间目标文件和依赖文件
8   -SRCS:=$(notdir $(wildcard $(SRC_DIR)/*.cpp))
9   -OBJS:=$(addprefix $(OBJ_DIR)/, $(patsubst %.cpp, %.o, $(SRCS)))
10   -DEPS:=$(addprefix $(DEP_DIR)/, $(patsubst %.cpp, %.d,a $(SRCS)))
11   -
12   -# 自动生成头文件依赖选项
13   -DEPFLAGS=-MT $@ -MMD -MP -MF $(DEP_DIR)/$*.d
14   -
15   -DEFS = -DENABLE_DVPP_INTERFACE
16   -
17   -# 最终目标文件
18   -TARGET:=$(BUILD_DIR)/bin/demo
19   -
20   -
21   -include_dir=-I/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/runtime/include
22   -
23   -lib_dir=-L/usr/lib \
24   - -L/usr/local/lib \
25   - -L/usr/local/Ascend/driver/lib64 \
26   - -L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/atc/lib64\
27   - -L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/runtime/lib64 \
28   - -L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/runtime/lib64/stub \
29   - -L/usr/local/Ascend/ascend-toolkit/6.3.RC1.alpha001/lib64 \
30   - -L/usr/local/Ascend/driver/lib64/driver
31   -
32   -lib=-lacl_dvpp -lascendcl -lmmpa -lglog -lgflags -lpthread -lz -lacl_dvpp_mpi -lruntime -lascendalog -lc_sec -lmsprofiler -lgert -lge_executor -lge_common \
33   - -lgraph -lascend_protobuf -lprofapi -lerror_manager -lexe_graph -lregister -lplatform
34   -
35   -INCLUDE= -I $(TOP_DIR)/interface \
36   -
37   -LIBSPATH= -L $(BUILD_DIR)/interface/lib -l:interface.a \
38   - -L $(BUILD_DIR)/dvpp/lib -l:dvpp.a
39   -
40   -CXXFLAGS= -g -O0 -fPIC $(INCLUDE) $(include_dir) $(LIBSPATH) $(INCS) $(LIBS) $(lib_dir) $(lib) $(DEFS) -lpthread -lrt -lz -fexceptions -std=c++11 -fvisibility=hidden -Wl,-Bsymbolic -ldl
41   - # -DUNICODE -D_UNICODE
42   -
43   -# 默认最终目标
44   -.PHONY:all
45   -all:$(TARGET)
46   -
47   -# 生成最终目标
48   -$(TARGET): $(OBJS) | $(LIB_DIR)
49   - @echo -e "\e[32m""Linking static library $(TARGET)""\e[0m"
50   - @echo -e "$(CXX) -o $@ $^ $(DEPFLAGS) $(CXXFLAGS) $(MACROS)"
51   - $(CXX) -o $@ $^ $(DEPFLAGS) $(CXXFLAGS) $(MACROS)
52   -
53   -# 若没有lib目录则自动生成
54   -$(LIB_DIR):
55   - @mkdir -p $@
56   -
57   -# 生成中间目标文件
58   -$(OBJ_DIR)/%.o:$(SRC_DIR)/%.cpp $(DEP_DIR)/%.d | $(OBJ_DIR) $(DEP_DIR)
59   - @echo -e "\e[33m""Building object $@""\e[0m"
60   - @echo -e "$(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<"
61   - $(CXX) -c $(DEPFLAGS) $(CXXFLAGS) -o $@ $<
62   -
63   -# 若没有obj目录则自动生成
64   -$(OBJ_DIR):
65   - @mkdir -p $@
66   -
67   -# 若没有.dep目录则自动生成
68   -$(DEP_DIR):
69   - @mkdir -p $@
70   -
71   -# 依赖文件会在生成中间文件的时候自动生成,这里只是为了防止报错
72   -$(DEPS):
73   -
74   -# 引入中间目标文件头文件依赖关系
75   -include $(wildcard $(DEPS))
76   -
77   -# 直接删除组件build目录
78   -.PHONY:clean
79   -clean:
80   - @rm -rf $(BUILD_DIR)/$(MODULE)
src/ai_platform/MultiSourceProcess.cpp
... ... @@ -300,6 +300,8 @@ int CMultiSourceProcess::AddMqConn(mq_type_t mq_type, rabbitmq_conn_params_t mq_
300 300 return SUCCESS;
301 301 }
302 302  
  303 +#endif
  304 +
303 305 /* 获取任务的状态 MQ返回 */
304 306 int CMultiSourceProcess::GetTaskStatus(const string taskID) {
305 307  
... ... @@ -307,22 +309,30 @@ int CMultiSourceProcess::GetTaskStatus(const string taskID) {
307 309  
308 310 std::vector<std::string> taskids;
309 311 std::vector<int> statues;
  312 + int sta = 0;
310 313 if(pDecManager->isPausing(taskID)){
311 314 taskids.emplace_back(taskID);
312 315 statues.emplace_back(2);
313   - }else if(pDecManager->isRunning(taskID)){
  316 + sta = 2;
  317 + } else if(pDecManager->isRunning(taskID)){
314 318 taskids.emplace_back(taskID);
315 319 statues.emplace_back(1);
  320 + sta = 1;
  321 + } else if(pDecManager->isFinished(taskID)){
  322 + taskids.emplace_back(taskID);
  323 + statues.emplace_back(0);
  324 + sta = 0;
316 325 }
317 326  
  327 +#ifdef POST_USE_RABBITMQ
318 328 if (!taskids.empty()) {
319 329 auto json_str = helpers::gen_json::gen_task_status_json(taskids, statues);
320 330 mq_manager_->publish(mq_type_t::GET_TASK_MQ, json_str.c_str(),true);
321 331 }
  332 +#endif
322 333  
323   - return SUCCESS;
  334 + return sta;
324 335 }
325   -#endif
326 336  
327 337 bool CMultiSourceProcess::AddTask(task_param _cur_task_param){
328 338 DecoderManager* pDecManager = DecoderManager::getInstance();
... ...
src/ai_platform/MultiSourceProcess.h
... ... @@ -52,9 +52,10 @@ public:
52 52  
53 53 #ifdef POST_USE_RABBITMQ
54 54 int AddMqConn(mq_type_t mq_type, rabbitmq_conn_params_t mq_conn_param);
55   - int GetTaskStatus(const string taskID);
56 55 #endif
57 56  
  57 +int GetTaskStatus(const string taskID);
  58 +
58 59 public:
59 60 int algorthim_process_thread(); // 算法处理线程
60 61 void task_finished(const string task_id);
... ...
src/ai_platform/stl_aiplatform.cpp
... ... @@ -25,14 +25,14 @@ int add_mq_conn(void *handle, mq_type_t tstatus, rabbitmq_conn_params_t mq_conn_
25 25 return tools->AddMqConn(tstatus, mq_conn_param);
26 26 }
27 27  
  28 +#endif
  29 +
28 30 int get_task_status(void *handle, char *task_id)
29 31 {
30 32 CMultiSourceProcess* tools = (CMultiSourceProcess*)handle;
31 33 return tools->GetTaskStatus(task_id);
32 34 }
33 35  
34   -#endif
35   -
36 36 int add_task(void *handle, task_param param)
37 37 {
38 38 CMultiSourceProcess* tools = (CMultiSourceProcess*)handle;
... ...
src/ai_platform/stl_aiplatform.h
... ... @@ -43,12 +43,11 @@ extern &quot;C&quot;
43 43 */
44 44 TSL_AIPLATFORM_API int add_mq_conn(void *handle, mq_type_t tstatus, rabbitmq_conn_params_t mq_conn_param);
45 45  
  46 +#endif
46 47  
47   -
  48 +
48 49 TSL_AIPLATFORM_API int get_task_status(void *handle, char *task_id);
49 50  
50   -#endif
51   -
52 51 /*************************************************************************
53 52 * FUNCTION: add_task
54 53 * PURPOSE: 添加任务
... ...