Code Monkey home page Code Monkey logo

qstat's Introduction

qstat for python TravisBuildStatus PyPIStatus

A python API for qstat

The sungrid job submission framework known as `qsub` is a powerful tool to distribute your workload over many machines in parallel. To check the status of the jobs in the queue there is `qstat` which can print a human readable status table on the command line. Such status can be useful to keep track of your submitted compute jobs to e.g. prevent duplicate submission.

This python qstat wrapper parses the jobs listed in `qstat -xml` into a list of dictionaries.

Install with

$ pip install qstat

Usage

Get python dictionaries descibing your `qsub` jobs.

from qstat import qstat

queue_info, job_info = qstat()

queue_info[13]
{'@state': 'running',
 'JAT_prio': '0.55008',
 'JAT_start_time': '2017-09-04T16:22:50',
 'JB_job_number': '6384796',
 'JB_name': 'phs_obs_20120102_001',
 'JB_owner': 'relleums',
 'queue_name': '[email protected]',
 'slots': '1',
 'state': 'r'}

Add both `queue_info` and `job_info` to have one list of both running and waiting jobs:

from qstat import qstat

queue_info, job_info = qstat()

all_jobs = queue_info + job_info

for job in all_jobs:
    print(job['JB_name'], 'is', job['@state'])
my_job_001 is running
my_job_002 is running
my_job_003 is running

or combine with e.g. with pandas DataFrame

from qstat import qstat
q, j = qstat()

import pandas as pd
df = pd.DataFrame(q + j)

df.tail()
      @state JAT_prio JAT_start_time JB_job_number               JB_name  \
190  pending  0.00000            NaN       6384973  phs_obs_20160102_002
191  pending  0.00000            NaN       6384974  phs_obs_20160201_001
192  pending  0.00000            NaN       6384975  phs_obs_20160201_002
193  pending  0.00000            NaN       6384976  phs_obs_20160202_001
194  pending  0.00000            NaN       6384977  phs_obs_20160202_002

     JB_owner   JB_submission_time queue_name slots state
190  relleums  2017-09-04T16:22:51       None     1    qw
191  relleums  2017-09-04T16:22:51       None     1    qw
192  relleums  2017-09-04T16:22:51       None     1    qw
193  relleums  2017-09-04T16:22:51       None     1    qw
194  relleums  2017-09-04T16:22:51       None     1    qw

qstat's People

Contributors

tomaso909 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.