File: mobjobw

package info (click to toggle)
mobyle 1.5.5%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,288 kB
  • sloc: python: 22,709; makefile: 35; sh: 33; ansic: 10; xml: 6
file content (86 lines) | stat: -rwxr-xr-x 2,487 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#! /usr/bin/env python

#############################################################
#                                                           #
#   Author: Nicolas Joly , Bertrand Neron                   #
#   Organization:'Biological Software and Databases' Group, #
#                Institut Pasteur, Paris.                   #
#   Distributed under GPLv2 Licence. Please refer to the    #
#   COPYING.LIB document.                                   #
#                                                           #
#############################################################

import os, sys, time

MOBYLEHOME = None
if os.environ.has_key('MOBYLEHOME'):
  MOBYLEHOME = os.environ['MOBYLEHOME']
if not MOBYLEHOME:
  sys.exit('MOBYLEHOME must be defined in your environment')

sys.path.append(os.path.join(MOBYLEHOME,'Src'))

from Mobyle.ConfigManager import Config
from Mobyle.MobyleLogger import MLogger
MLogger()

from Mobyle.Admin import Admin 
from Mobyle.Utils import getStatus as utils_getStatus

cfg = Config()
adm = cfg.admindir()
lst = os.listdir(adm)

for job in lst:
    fil = os.path.join(adm, job)
    if not os.path.isfile(fil) or job[0] == '.': 
        continue
    admin = Admin(fil)
    
    print "%s" % ("-"*80)
    
    jid = admin.getJobID()
    if jid == None:
        print "Unknown job %s" % job
        continue
    key = jid.split(os.path.sep)[-1]
    exc_alias = admin.getExecutionAlias()
    que = admin.getQueue()
    try:
        sta = utils_getStatus(jid)
    except Exception , err:
        print >> sys.stderr , "ERROR : %s : getStatus : %s "%( jid , err )
        continue
    print "%s -- %s/%s -- %s" % (key, exc_alias , que, sta)
    
    nam = admin.getJobName()
    ema = admin.getEmail()
    tim = time.strftime("%x %X", admin.getDate())
    ses = admin.getSession()
    adr = admin.getRemote()
    wfid = admin.getWorkflowID()
    if wfid :
        src = 'LOCAL'
        wf_nam = '/'.join( wfid.split('/')[-2:] )
    elif ses :
        wf_nam = 'STANDALONE'
        src = 'LOCAL'
    else :
        wf_nam = 'UNKNOWN'
        src =  'REMOTE'
        
    print "%s -- %s -- %s -- %s -- %s -- %s " % (nam, ema, tim, src, wf_nam , adr)
    fil = os.path.join(cfg.results_path(), nam, key, '.command')
    try:
        fh = open(fil)
        cmd = fh.readline().strip()
    except IOError, err:
        cmd = "no command line"
    finally:
        try:
            fh.close()
        except:
            pass
    print "%s" % cmd

sys.exit(0)