Esempio n. 1
0
    def reconfigService(self, name, workdir=None, usePty=False, **kwargs):
        BuildWorker.reconfigService(self, name, None, **kwargs)
        if workdir is None:
            workdir = name
        workdir = os.path.abspath(os.path.join(self.master.basedir, "workers", workdir))
        if not os.path.isdir(workdir):
            os.makedirs(workdir)

        if self.remote_worker is None:
            # create the actual worker as a child service
            # we only create at reconfig, to avoid poluting memory in case of reconfig
            self.remote_worker = self.LocalBuildWorkerFactory(name, workdir, usePty)
            yield self.remote_worker.setServiceParent(self)
        else:
            # The case of a reconfig, we forward the parameters
            self.remote_worker.bot.basedir = workdir
            self.remote_worker.usePty = usePty