Ejemplo n.º 1
0
    def start_worker(self, job_id):
        """
        Spawn a worker process to executed the job identified by job_id.

        @type  job_id:   String
        @param job_id:   The ID of the job to be executed

        @rtype:          Dictionary
        @return:         Dictionary with details related to the worker
        """

        worker = {}
        worker["id"] = self.generate_id()

        syslog.syslog(syslog.LOG_INFO,
                      "initializing worker %s ..." % worker["id"])

        worker["pid"] = None
        worker["c_queue"] = multiprocessing.Queue()
        worker["p_queue"] = multiprocessing.Queue()
        worker["instance"] = jobworker(self.id, worker["id"], job_id,
                                       worker["c_queue"], worker["p_queue"],
                                       self.root, self.config)
        worker["process"] = Process(target=worker["instance"].run)
        worker["last_report"] = time.time()
        worker["process"].start()
        self.workers.append(worker)
        return worker
Ejemplo n.º 2
0
    def start_worker(self, job_id):
        """
        Spawn a worker process to executed the job identified by job_id.

        @type  job_id:   String
        @param job_id:   The ID of the job to be executed

        @rtype:          Dictionary
        @return:         Dictionary with details related to the worker
        """

        worker = {}
        worker["id"]       = self.generate_id()

        syslog.syslog(syslog.LOG_INFO,
                      "initializing worker %s ..." % worker["id"])

        worker["pid"]      = None
        worker["c_queue"]  = multiprocessing.Queue()
        worker["p_queue"]  = multiprocessing.Queue()
        worker["instance"] = jobworker(self.id,
                                       worker["id"],
                                       job_id,
                                       worker["c_queue"],
                                       worker["p_queue"],
                                       self.root,
                                       self.config)
        worker["process"]  = Process(target=worker["instance"].run)
        worker["last_report"] = time.time()
        worker["process"].start()
        self.workers.append(worker)
        return worker
Ejemplo n.º 3
0
            job_data = self.database.loadJob(job_id)
            if not job_data:
                self.database.log("error",
                                  "failed to load data for job %s" % job_id,
                                  str(ex))
        except Exception, ex:
            self.database.log("error",
                              "error loading data for job %s" % job_id,
                              str(ex))
            return False

        try:
            worker["instance"] = jobworker(self.id,
                                           worker["id"],
                                           job_id,
                                           worker["c_queue"],
                                           worker["p_queue"],
                                           self.root,
                                           self.config,
                                           job_data)
        except Exception, ex:
            self.database.log("error",
                              "failed to initialize worker for job %s" %\
                              job_id,
                              str(ex))
            return False

        try:
            worker["process"] = Process(target=worker["instance"].run)
            worker["process"].start()
        except Exception, ex:
            self.database.log("error",
Ejemplo n.º 4
0
        try:
            job_data = self.database.loadJob(job_id)
            if not job_data:
                self.database.log("error",
                                  "failed to load data for job %s" % job_id,
                                  str(ex))
        except Exception, ex:
            self.database.log("error",
                              "error loading data for job %s" % job_id,
                              str(ex))
            return False

        try:
            worker["instance"] = jobworker(self.id, worker["id"], job_id,
                                           worker["c_queue"],
                                           worker["p_queue"], self.root,
                                           self.config, job_data)
        except Exception, ex:
            self.database.log("error",
                              "failed to initialize worker for job %s" %\
                              job_id,
                              str(ex))
            return False

        try:
            worker["process"] = Process(target=worker["instance"].run)
            worker["process"].start()
        except Exception, ex:
            self.database.log("error", "failed to start job %s" % job_id,
                              str(ex))
            return False