MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / taskrunner

Method taskrunner

client/task/taskmgr.py:52–78  ·  view source on GitHub ↗

按task队列逐一执行 :return: 返回执行结果

(self)

Source from the content-addressed store, hash-verified

50 self.task_queue.append(task)
51
52 def taskrunner(self):
53 '''
54 按task队列逐一执行
55 :return: 返回执行结果
56 '''
57 # 通过任务队列长度来判断task是否为连续执行,用于task的跨机器执行判断
58 length = len(self.task_queue) - 1
59 last_flag = False # 用于标记当前启动的task是否存在连续的前置task
60 for task in self.task_queue:
61 have_next = False
62 if length > 0:
63 have_next = True
64 length -= 1
65 # 将task状态插入params中,让工具或其他环节可以捕获
66 self.params['hava_next'] = have_next
67 self.params['last_flag'] = last_flag
68 source = SourceManager(self.params, task.task_type, self.tool, have_next, last_flag)
69 logger.info('task start : %s' % task.task_type)
70 params = source.pre_task()
71 if not last_flag: # 仅task列表第一个task才会执行
72 InitParams.prepare_params_after_load_source(self.params)
73 result = task.runner(params)
74 self.params = source.done_task(result)
75 logger.info('task done : %s' % task.task_type)
76 last_flag = True
77
78 return self.params
79
80 def _taskproducer(self, task_type):
81 '''

Callers

nothing calls this directly

Calls 5

pre_taskMethod · 0.95
done_taskMethod · 0.95
SourceManagerClass · 0.90
infoMethod · 0.45
runnerMethod · 0.45

Tested by

no test coverage detected