예제 #1
0
파일: monkey.py 프로젝트: frankrousseau/mrq
        def _Cursor__send_message(self, *args, **kwargs):
            # print self.__dict__
            job = get_current_job()

            if job:

                subtype = "find"
                collection = self._Cursor__collection.name  # pylint: disable=no-member

                if collection == "$cmd":
                    items = self._Cursor__spec.items()  # pylint: disable=no-member
                    if len(items) > 0:
                        subtype, collection = items[0]

                job.set_current_io({
                    "type": "mongodb.%s" % subtype,
                    "data": {
                        "collection":
                        "%s.%s" %
                        (self._Cursor__collection.database.name, collection)  # pylint: disable=no-member
                    }
                })
            ret = Cursor._Cursor__send_message(self, *args, **kwargs)  # pylint: disable=no-member

            if job:
                job.set_current_io(None)
            return ret
예제 #2
0
파일: monkey.py 프로젝트: vfulco/mrq
        def _Cursor__send_message(self, *args, **kwargs):
            # print self.__dict__
            job = get_current_job()

            if job:

                subtype = "cursor"
                collection = self._Cursor__collection.name  # pylint: disable=no-member

                if collection == "$cmd":
                    items = self._Cursor__spec.items()  # pylint: disable=no-member
                    if len(items) > 0:
                        subtype, collection = items[0]

                job.set_current_io({
                    "type": "mongodb.%s" % subtype,
                    "data": {
                        "collection": "%s.%s" % (self._Cursor__collection.database.name, collection)  # pylint: disable=no-member
                    }
                })
            ret = Cursor._Cursor__send_message(self, *args, **kwargs)  # pylint: disable=no-member

            if job:
                job.set_current_io(None)
            return ret
예제 #3
0
파일: monkey.py 프로젝트: AshBT/mrq
        def _Cursor__send_message(self, *args, **kwargs):
            # print self.__dict__
            job = get_current_job()

            if job:

                subtype = "cursor"
                collection = self._Cursor__collection.name  # pylint: disable=no-member

                if collection == "$cmd":
                    items = self._Cursor__spec.items()  # pylint: disable=no-member
                    if len(items) > 0:
                        subtype, collection = items[0]

                full_name = "%s.%s" % (self._Cursor__collection.database.name, collection)  # pylint: disable=no-member

                job.set_current_io({
                    "type": "mongodb.%s" % subtype,
                    "data": {
                        "collection": full_name
                    }
                })

            if config.get("mongodb_pre_hook"):

                config.get("mongodb_pre_hook")({
                    "collection": full_name,
                    "method": subtype,
                    "args": (getattr(args[0], "spec", None), ),
                    "kwargs": kwargs,
                    "client": self._Cursor__collection.database.client,
                    "job": job
                })

            start_time = time.time()
            ret = False
            try:
                ret = Cursor._Cursor__send_message(self, *args, **kwargs)  # pylint: disable=no-member
            finally:
                stop_time = time.time()
                if job:
                    job.set_current_io(None)

                if config.get("mongodb_post_hook"):
                    config.get("mongodb_post_hook")({
                        "collection": full_name,
                        "method": subtype,
                        "args": (getattr(args[0], "spec", None), ),
                        "kwargs": kwargs,
                        "client": self._Cursor__collection.database.client,
                        "job": job,
                        "result": ret,
                        "time": stop_time - start_time
                    })

            return ret
예제 #4
0
파일: monkey.py 프로젝트: zhengge2017/mrq
        def _Cursor__send_message(self, *args, **kwargs):
            # print self.__dict__
            job = get_current_job()

            if job:

                subtype = "cursor"
                collection = self._Cursor__collection.name  # pylint: disable=no-member

                if collection == "$cmd":
                    items = list(self._Cursor__spec.items())  # pylint: disable=no-member
                    if len(items) > 0:
                        subtype, collection = items[0]

                full_name = "%s.%s" % (
                    self._Cursor__collection.database.name, collection)  # pylint: disable=no-member

                job.set_current_io({
                    "type": "mongodb.%s" % subtype,
                    "data": {
                        "collection": full_name
                    }
                })

            if config.get("mongodb_pre_hook"):

                config.get("mongodb_pre_hook")({
                    "collection":
                    full_name,
                    "method":
                    subtype,
                    "args": (getattr(args[0], "spec", None), ),
                    "kwargs":
                    kwargs,
                    "client":
                    self._Cursor__collection.database.client,
                    "job":
                    job
                })

            start_time = time.time()
            ret = False
            try:
                ret = Cursor._Cursor__send_message(self, *args, **kwargs)  # pylint: disable=no-member
            finally:
                stop_time = time.time()
                if job:
                    job.set_current_io(None)

                if config.get("mongodb_post_hook"):
                    config.get("mongodb_post_hook")({
                        "collection":
                        full_name,
                        "method":
                        subtype,
                        "args": (getattr(args[0], "spec", None), ),
                        "kwargs":
                        kwargs,
                        "client":
                        self._Cursor__collection.database.client,
                        "job":
                        job,
                        "result":
                        ret,
                        "time":
                        stop_time - start_time
                    })

            return ret