def _run_data_engine(self, start_timeperiod, end_timeperiod):
        """ regular data engine """
        collection_name = context.process_context[self.process_name].source
        cursor = self.ds.cursor_batch(collection_name,
                                      start_timeperiod,
                                      end_timeperiod)
        for document in cursor:
            self._process_single_document(document)
            self.performance_tracker.increment_success()

        self._cursor_exploited()
        msg = 'Cursor exploited after fetching {0} documents'.format(self.performance_tracker.success_per_job)
        self.logger.info(msg)