Spaces:
Paused
Paused
update
Browse files- main.py +3 -3
- toolbox/porter/manager.py +13 -16
main.py
CHANGED
|
@@ -105,6 +105,8 @@ def main():
|
|
| 105 |
|
| 106 |
porter_tasks_file_dir = Path(args.porter_tasks_file_dir)
|
| 107 |
|
|
|
|
|
|
|
| 108 |
for porter_task_file in porter_tasks_file_dir.glob("porter_task_*.json"):
|
| 109 |
key = porter_task_file.stem
|
| 110 |
value = environment.get(key=key, default=False, dtype=bool)
|
|
@@ -112,9 +114,7 @@ def main():
|
|
| 112 |
|
| 113 |
if value is True:
|
| 114 |
# porter manager
|
| 115 |
-
task_manager
|
| 116 |
-
tasks_file=porter_task_file.as_posix()
|
| 117 |
-
)
|
| 118 |
task_thread = threading.Thread(
|
| 119 |
target=async_thread_wrapper,
|
| 120 |
args=(task_manager.run(),),
|
|
|
|
| 105 |
|
| 106 |
porter_tasks_file_dir = Path(args.porter_tasks_file_dir)
|
| 107 |
|
| 108 |
+
# porter manager
|
| 109 |
+
task_manager = PorterManager()
|
| 110 |
for porter_task_file in porter_tasks_file_dir.glob("porter_task_*.json"):
|
| 111 |
key = porter_task_file.stem
|
| 112 |
value = environment.get(key=key, default=False, dtype=bool)
|
|
|
|
| 114 |
|
| 115 |
if value is True:
|
| 116 |
# porter manager
|
| 117 |
+
task_manager.add_tasks_by_task_file(tasks_file=porter_task_file.as_posix())
|
|
|
|
|
|
|
| 118 |
task_thread = threading.Thread(
|
| 119 |
target=async_thread_wrapper,
|
| 120 |
args=(task_manager.run(),),
|
toolbox/porter/manager.py
CHANGED
|
@@ -7,18 +7,16 @@ from toolbox.porter.tasks.base_task import BaseTask
|
|
| 7 |
|
| 8 |
|
| 9 |
class PorterManager(object):
|
| 10 |
-
def __init__(self
|
| 11 |
-
tasks_file: str,
|
| 12 |
-
):
|
| 13 |
-
self.tasks_file = tasks_file
|
| 14 |
-
|
| 15 |
# state
|
| 16 |
self.coro_task_set = set()
|
| 17 |
|
| 18 |
-
|
| 19 |
-
|
|
|
|
| 20 |
tasks = json.load(f)
|
| 21 |
|
|
|
|
| 22 |
for task in tasks:
|
| 23 |
enable = task.pop("enable")
|
| 24 |
task_type = task.pop("type")
|
|
@@ -28,14 +26,17 @@ class PorterManager(object):
|
|
| 28 |
task_cls = BaseTask.by_name(task_type)
|
| 29 |
task_obj = task_cls(**task)
|
| 30 |
|
| 31 |
-
|
| 32 |
-
return
|
| 33 |
|
| 34 |
-
async def
|
| 35 |
-
coro_task_set = self.
|
|
|
|
|
|
|
| 36 |
|
|
|
|
| 37 |
future_tasks = list()
|
| 38 |
-
for task in coro_task_set:
|
| 39 |
task = asyncio.ensure_future(task)
|
| 40 |
# task = asyncio.create_task(task)
|
| 41 |
future_tasks.append(task)
|
|
@@ -43,10 +44,6 @@ class PorterManager(object):
|
|
| 43 |
|
| 44 |
await asyncio.wait(future_tasks)
|
| 45 |
|
| 46 |
-
async def run2(self):
|
| 47 |
-
future_tasks = self.get_init_tasks()
|
| 48 |
-
await asyncio.wait(future_tasks)
|
| 49 |
-
|
| 50 |
|
| 51 |
async def main():
|
| 52 |
import log
|
|
|
|
| 7 |
|
| 8 |
|
| 9 |
class PorterManager(object):
|
| 10 |
+
def __init__(self):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
# state
|
| 12 |
self.coro_task_set = set()
|
| 13 |
|
| 14 |
+
@staticmethod
|
| 15 |
+
def get_coro_task_set_by_task_file(tasks_file: str):
|
| 16 |
+
with open(tasks_file, "r", encoding="utf-8") as f:
|
| 17 |
tasks = json.load(f)
|
| 18 |
|
| 19 |
+
coro_task_set = set()
|
| 20 |
for task in tasks:
|
| 21 |
enable = task.pop("enable")
|
| 22 |
task_type = task.pop("type")
|
|
|
|
| 26 |
task_cls = BaseTask.by_name(task_type)
|
| 27 |
task_obj = task_cls(**task)
|
| 28 |
|
| 29 |
+
coro_task_set.add(task_obj.start())
|
| 30 |
+
return coro_task_set
|
| 31 |
|
| 32 |
+
async def add_tasks_by_task_file(self, tasks_file: str):
|
| 33 |
+
coro_task_set = self.get_coro_task_set_by_task_file(tasks_file)
|
| 34 |
+
self.coro_task_set.update(coro_task_set)
|
| 35 |
+
return len(coro_task_set)
|
| 36 |
|
| 37 |
+
async def run(self):
|
| 38 |
future_tasks = list()
|
| 39 |
+
for task in self.coro_task_set:
|
| 40 |
task = asyncio.ensure_future(task)
|
| 41 |
# task = asyncio.create_task(task)
|
| 42 |
future_tasks.append(task)
|
|
|
|
| 44 |
|
| 45 |
await asyncio.wait(future_tasks)
|
| 46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
async def main():
|
| 49 |
import log
|