コード例 #1
0
ファイル: recursive.py プロジェクト: andreycizov/python-xrpc
    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)
コード例 #2
0
 def _start_worker_inst(self):
     popen(worker_inst, logging_config(), self.fn, origin(BACKEND))
コード例 #3
0
    def announce(self) -> Optional[float]:
        s = service(WorkerAnnounce, origin())
        s.bk_announce(False, os.getpid())

        return None
コード例 #4
0
 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
コード例 #5
0
 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)
コード例 #6
0
    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)
コード例 #7
0
 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