コード例 #1
0
ファイル: slurmrestapi.py プロジェクト: Lorel/slurm-web
def show_job(job_id):

    # pyslurm >= 16.05 expects a string in parameter of job.find_id()
    job = pyslurm.job().find_id(str(job_id))
    fill_job_user(job)

    return job
コード例 #2
0
def show_job(job_id):

    # pyslurm >= 16.05 expects a string in parameter of job.find_id()
    job = pyslurm.job().find_id(str(job_id))
    fill_job_user(job)

    return job
コード例 #3
0
def get_jobs():
    jobs = get_from_cache(pyslurm.job().get, 'get_jobs')

    for jobid, job in jobs.iteritems():
        # add login and user's name (additionally to UID) for each job
        try:
            fill_job_user(job)
        except (KeyError):
            pass

        # convert nodeset in array of nodes
        if job["nodes"] is not None:
            jobs[jobid]["nodeset"] = list(
                NodeSet(job["nodes"].encode('ascii', 'ignore')))
    return filter_entities('jobs', jobs)
コード例 #4
0
def get_jobs_by_node_id(node_id):

    jobs = get_from_cache(pyslurm.job().get, 'get_jobs')

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        if node_id in nodes_list:
            returned_jobs[jobid] = job

    for jobid, job in returned_jobs.iteritems():
        fill_job_user(job)

    return filter_entities('jobs', returned_jobs)
コード例 #5
0
ファイル: slurmrestapi.py プロジェクト: Lorel/slurm-web
def get_jobs():
    jobs = pyslurm.job().get()

    for jobid, job in jobs.iteritems():
        # add login and user's name (additionally to UID) for each job
        try:
            fill_job_user(job)
        except (KeyError):
            pass

        # convert nodeset in array of nodes
        if job["nodes"] is not None:
            jobs[jobid]["nodeset"] = list(
                NodeSet(job["nodes"].encode('ascii', 'ignore'))
            )
    return jobs
コード例 #6
0
ファイル: slurmrestapi.py プロジェクト: Lorel/slurm-web
def get_jobs_by_node_id(node_id):

    jobs = pyslurm.job().get()

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (node_id, nodes_list)
        if node_id in nodes_list:
            returned_jobs[jobid] = job
            print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    for jobid, job in returned_jobs.iteritems():
        fill_job_user(job)

    return returned_jobs
コード例 #7
0
def get_jobs_by_node_id(node_id):

    jobs = pyslurm.job().get()

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (node_id, nodes_list)
        if node_id in nodes_list:
            returned_jobs[jobid] = job
            print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    for jobid, job in returned_jobs.iteritems():
        fill_job_user(job)

    return returned_jobs
コード例 #8
0
def show_job(job_id):

    # PySLURM >= 16.05 expects a string in parameter of job.find_id() and
    # returns a list. The expected job dict is the 1st element of this list.
    job = get_from_cache(pyslurm.job.find_id, 'show_job', str(job_id))[0]
    onlyUsersJobs = False
    fill_job_user(job)
    if auth_enabled:
        # If auth_enabled is true, getting the current user becomes
        # possible because authentification_verify decorator has been
        # already checked.

        currentUser = get_current_user()
        onlyUsersJobs = check_private_data_for_entity(currentUser, 'jobs')

    if (onlyUsersJobs and job['login'] != currentUser.login):
        raise AllUnauthorizedError

    return job
コード例 #9
0
def get_jobs_by_node_ids():

    jobs = get_from_cache(pyslurm.job().get, 'get_jobs')

    nodes = json.loads(request.data).get('nodes', [])

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()

        for node_id in nodes:
            if node_id in nodes_list:
                returned_jobs[jobid] = job

    for jobid, job in returned_jobs.iteritems():
        fill_job_user(job)

    return filter_entities('jobs', returned_jobs)
コード例 #10
0
ファイル: slurmrestapi.py プロジェクト: Lorel/slurm-web
def get_jobs_by_node_ids():

    jobs = pyslurm.job().get()

    print "Post datas : %s" % request.data
    nodes = json.loads(request.data).get('nodes', [])
    print "Nodelist : %s" % nodes

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (jobid, nodes_list)

        for node_id in nodes:
            if node_id in nodes_list:
                returned_jobs[jobid] = job
                print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    for jobid, job in returned_jobs.iteritems():
        fill_job_user(job)

    return returned_jobs
コード例 #11
0
def get_jobs_by_node_ids():

    jobs = pyslurm.job().get()

    print "Post datas : %s" % request.data
    nodes = json.loads(request.data).get('nodes', [])
    print "Nodelist : %s" % nodes

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (jobid, nodes_list)

        for node_id in nodes:
            if node_id in nodes_list:
                returned_jobs[jobid] = job
                print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    for jobid, job in returned_jobs.iteritems():
        fill_job_user(job)

    return returned_jobs