コード例 #1
0
def list(ctx, include_all, verbose):
    """List scheduled jobs"""
    include_deleted = None if include_all else False
    scheduled_jobs = get_scheduled_jobs(include_deleted=include_deleted)

    ctx.obj["headers"] = (SCHEDULED_JOB_VERBOSE_HEADERS
                          if verbose else SCHEDULED_JOB_HEADERS)
    _click_echo_jobs(scheduled_jobs)
コード例 #2
0
def delete(name, force):
    """Delete scheduled job"""
    if not force:
        to_delete = get_scheduled_jobs(name_pattern=name)
        if not to_delete:
            click.echo("no jobs found matching the given name pattern")
            return

        click.echo("the following jobs will be deleted:")
        _click_echo_jobs(to_delete)

        click.confirm("are you sure?", abort=True)

    delete_scheduled_job(name)
コード例 #3
0
    def get_dags(self):  # type: () -> List[DAG]
        logger.debug("about to get scheduler job dags from dbnd db")
        dags = []
        jobs = get_scheduled_jobs()
        validated_jobs = [
            s["DbndScheduledJob"] for s in jobs
            if not s["DbndScheduledJob"].get("validation_errors")
        ]

        for job in validated_jobs:
            if "schedule_interval" not in job:
                continue
            dag = self.job_to_dag(job)
            dags.append(dag)
        return dags
コード例 #4
0
    def build_delta(self):
        from_file = self.read_config(self.config_file)

        file_modified_time = make_aware(
            datetime.utcfromtimestamp(os.path.getmtime(self.config_file)))
        if not from_file:
            from_file = []

        from_file = self.load_and_validate(from_file)

        from_db = [
            s["DbndScheduledJob"]
            for s in get_scheduled_jobs(from_file_only=True,
                                        include_deleted=None)
        ]
        return self.delta(from_db, from_file, file_modified_time)
コード例 #5
0
 def get_scheduled_jobs(self):  # type: () -> List[dict]
     return [
         s["DbndScheduledJob"] for s in get_scheduled_jobs()
         if not s["DbndScheduledJob"].get("validation_errors")
     ]