Spaces:
Paused
Paused
| #!/usr/bin/python3 | |
| # -*- coding: utf-8 -*- | |
| import asyncio | |
| from collections import defaultdict | |
| import logging | |
| import traceback | |
| logger = logging.getLogger("toolbox") | |
| from toolbox.porter.common.params import Params | |
| global_file_lock_dict = defaultdict(asyncio.Lock) | |
| class BaseTask(Params): | |
| def __init__(self, | |
| flag: str, | |
| check_interval: int, | |
| ): | |
| super().__init__() | |
| self.flag = flag | |
| self.check_interval = check_interval | |
| async def do_task(self): | |
| raise NotImplementedError | |
| async def start(self): | |
| while True: | |
| try: | |
| await self.do_task() | |
| logger.info(f"{self.flag}任务检测... 刷新间隔 {self.check_interval}s") | |
| await asyncio.sleep(self.check_interval) | |
| except Exception as error: | |
| logger.error(f"{self.flag}任务检测出错\nerror type: {type(error)}, error text: {error}, traceback: {traceback.format_exc()}") | |
| await asyncio.sleep(self.check_interval) | |
| continue | |
| if __name__ == "__main__": | |
| pass | |