Example #1
0
File: context.py Project: AshBT/mrq
 def run(self, params):
     log.info("Getting context info...")
     return {
         "job_id": get_current_job().id,
         "worker_id": get_current_worker().id,
         "config": get_current_config()
     }
Example #2
0
    def run(self, params):
        self.job = get_current_job()

        if params.get("imap"):
            return subpool_map(params["pool_size"], self.inner, params["inner_params"])
        else:
            return list(subpool_imap(params["pool_size"], self.inner, params["inner_params"]))
Example #3
0
File: utils.py Project: xsseng/mrq
    def build_query(self):
        query = {}
        current_job = get_current_job()

        if self.params.get("id"):
            query["_id"] = ObjectId(self.params.get("id"))

        # TODO use redis for queue
        for k in [
                "queue", "status", "worker", "path", "dateretry",
                "exceptiontype"
        ]:
            if self.params.get(k):
                if isinstance(self.params[k], (list, tuple)):
                    query[k] = {"$in": list(self.params[k])}
                elif k == "queue" and self.params[k][-1] == "/":
                    query[k] = {"$regex": "^%s" % self.params[k]}
                else:
                    query[k] = self.params[k]
            if query.get("worker"):
                query["worker"] = ObjectId(query["worker"])

        if self.params.get("params"):
            params_dict = json.loads(self.params.get("params"))  # pylint: disable=no-member

            for key in params_dict:
                query["params.%s" % key] = params_dict[key]

        if current_job and "_id" not in query:
            query["_id"] = {"$lte": current_job.id}

        return query
Example #4
0
 def run(self, params):
     log.info("Getting context info...")
     return {
         "job_id": get_current_job().id,
         "worker_id": get_current_worker().id,
         "config": get_current_config()
     }
Example #5
0
    def run(self, params):
        from mrq.context import _GLOBAL_CONTEXT

        return {
            "current_job_id":
            str(get_current_job().id),
            "job_ids":
            [str(job[1].id) for job in _GLOBAL_CONTEXT["greenlets"].values()]
        }
Example #6
0
  def inner(self, x):

    assert get_current_job() == self.job

    if x == "import-large-file":
      from mrq.basetasks.tests.largefile import a
      assert a == 1
      return True

    if x == "exception":
      raise Exception(x)

    sleep(x)

    return x
Example #7
0
    def inner(self, x):

        if self.job:
            assert get_current_job() == self.job

        if x == "import-large-file":
            from tests.tasks.largefile import a
            assert a == 1
            return True

        if x == "exception":
            raise Exception(x)

        time.sleep(x)

        return x
Example #8
0
def kill_machine(sid):
    sid_info = db['sid_info'].find_one({'sid': sid}, {'job_id': 1})
    if not sid_info:
        return False
#    print sid
    job = get_current_job()
    #    print job

    #    print 'sid_info:'+str(sid_info.get('job_id'))

    #    print  job.id
    if job.exists() and str(job.id) == str(sid_info.get('job_id')):
        return True
    else:
        # print 'machine_job:'+str(job.id)+'将被终止!'
        return False
Example #9
0
    def run(self, params):
        self.job = get_current_job()

        return subpool_map(params["pool_size"], self.inner, params["inner_params"])
Example #10
0
    def run(self, params):
        self.job = get_current_job()

        return subpool_map(params["pool_size"], self.inner,
                           params["inner_params"])