def ep(self, a: int) -> int: assert a > 0 s = service(Recursive, origin(), ClientConfig(timeout_total=1., horz=False)) if a == 1: return 0 elif a > 1: return s.ep(a - 1)
def _start_worker_inst(self): popen(worker_inst, logging_config(), self.fn, origin(BACKEND))
def announce(self) -> Optional[float]: s = service(WorkerAnnounce, origin()) s.bk_announce(False, os.getpid()) return None
def start_bg(self): self.thread = threading.Thread(target=worker_thread_main, args=(self.fn, origin(BACKEND))) self.thread.daemon = True self.thread.start() self.started = True
def bk_done(self, ret: ResponseType): s = service(Worker[self.cls_req, self.cls_res], origin(DEFAULT_GROUP), group=DEFAULT_GROUP) s.bk_done(ret)
def put(self, payload: RequestType): ret = self.fn(payload) x: WorkerInst[self.cls_req, self.cls_res] = service( WorkerInst[self.cls_req, self.cls_res], origin()) x.bk_done(ret)
def init(self) -> Optional[float]: x: WorkerInst[self.cls_req, self.cls_res] = service( WorkerInst[self.cls_req, self.cls_res], origin()) x.bk_started() return None