Skip to main content

Parse qstat xml to python dict

Project description

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': 'test@isdc-cn11.astro.unige.ch',
 '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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qstat-0.0.5.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

qstat-0.0.5-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

Details for the file qstat-0.0.5.tar.gz.

File metadata

  • Download URL: qstat-0.0.5.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for qstat-0.0.5.tar.gz
Algorithm Hash digest
SHA256 56606ada5eddbe11ad9edfd8778fb2efea67e5cb27164d290529fcf26c0c9279
MD5 4bbf80be17b730ac722d85b39d2cc664
BLAKE2b-256 625516e727b0bd0ae330ab444a5d4ffe8e60c0da44407d7966c7b41f15bdd93c

See more details on using hashes here.

File details

Details for the file qstat-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: qstat-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for qstat-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1ec6d2d5ae747d3aa0ca15056788e7e84f12f0a886948b4e88e0b688a2a222f6
MD5 9dd9919e96e7e7e075013266127c657f
BLAKE2b-256 45672a0f08422eacbca97e31c891afc67fba031058bc42e7bbb8265ddd6e8580

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page