コード例 #1
0
    def get_next_run_time(self):
        """Get the next run time as a localized datetime."""
        try:
            document = (BGJob.objects(
                next_run_time__ne=None).order_by("next_run_time").fields(
                    next_run_time=1).first())

            if document:
                return utc.localize(document.next_run_time)
        except DoesNotExist:
            return None
コード例 #2
0
    def _get_jobs(self, conditions):
        jobs = []
        failed_jobs = []
        for document in BGJob.objects(**conditions).order_by("next_run_time"):
            try:
                jobs.append(
                    db_to_scheduler(document, self._scheduler, self._alias))
            except Exception:
                logger.exception(
                    "Removing job %s, exception occurred while restoring:" %
                    document.id)
                failed_jobs.append(document)

        # Remove all the jobs we failed to restore
        if failed_jobs:
            for document in failed_jobs:
                document.delete()

        return jobs