[Bio] / FortyEight / get_number_of_external_jobs.pl Repository:
ViewVC logotype

Annotation of /FortyEight/get_number_of_external_jobs.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (view) (download) (as text)

1 : wilke 1.1
2 :    
3 :     =head1 check_jobs.pl
4 :    
5 :     Check the status of the jobs in the 48-hour run queue to see if any
6 :     action should be taken.
7 :    
8 :     Actions taken are determined based on the metadata kept in meta.xml.
9 :    
10 :     We do a quick check by looking for the file ACTIVE in the job directory.
11 :     If this file does not exist, the job should not be considered.
12 :    
13 :     =cut
14 :    
15 :    
16 :     use strict;
17 :     use FIG;
18 :     use FIG_Config;
19 :     use GenomeMeta;
20 :     use Data::Dumper;
21 :     use Tracer;
22 :     use Job48;
23 :     use Mail::Mailer;
24 :    
25 : wilke 1.6 print "Jobs: ",$FIG_Config::fortyeight_jobs , "\n";
26 : wilke 1.1
27 :     my @jobs = Job48::all_jobs();
28 : wilke 1.6 print "Jobs: ",$FIG_Config::fortyeight_jobs , "\n";
29 : wilke 1.1 my $exclude = { batch => 1 ,
30 :     olson => 1 ,
31 :     mkubal => 1 ,
32 :     paczian => 1 ,
33 :     dbartels => 1 ,
34 :     tdisz => 1 ,
35 :     paarmann => 1 ,
36 :     mdsouza => 1 ,
37 :     mcohoon => 1 ,
38 :     arodriguez => 1 ,
39 :     fmeyer => 1 ,
40 : wilke 1.3 gdpusch => 1 ,
41 :     awilke => 1 ,
42 : wilke 1.7 vvons => 1,
43 : wilke 1.1 };
44 :    
45 :     my %overview;
46 :    
47 :     for my $job (@jobs) {
48 :     my $jobuser = $job->getUserObject();
49 : wilke 1.7 unless ($jobuser and ref $jobuser){
50 :     print STDERR "No user for $job\n";
51 :     next;
52 :     }
53 :     print $jobuser->login."\t".$job->genome_name."\n";
54 : wilke 1.1 if ( $overview{ $jobuser->login }->{ $job->genome_name } ){
55 :     my $nr = $overview{ $jobuser->login }->{ $job->genome_name };
56 :     $nr++;
57 :     $overview{ $jobuser->login }->{ $job->genome_name } = $nr;
58 :     }
59 :     else{
60 :     $overview{ $jobuser->login }->{ $job->genome_name } = 1;
61 :     }
62 :     }
63 :    
64 :    
65 : wilke 1.2 my $nr_excluded = 0;
66 : wilke 1.4 my $nr_external = 0;
67 : wilke 1.1 foreach my $user ( keys %overview ){
68 :     foreach my $genome ( keys %{ $overview{ $user } } ){
69 : wilke 1.2 if ( $exclude->{ $user } ){
70 :     $nr_excluded++;
71 :     }
72 :     else{
73 : wilke 1.1 print $user , "\t" , $genome ,"\t", $overview{ $user }->{ $genome }, "\n";
74 : wilke 1.4 $nr_external++;
75 : wilke 1.1 }
76 :     }
77 :     }
78 :    
79 : wilke 1.5 print "Jobs in current job directory = ". scalar @jobs ."\n";
80 : wilke 1.2 print "Excluded jobs = $nr_excluded\n";
81 : wilke 1.4 print "External jobs = $nr_external\n";
82 : wilke 1.6
83 :     my $dbm = get_dbm();
84 :     #print scalar @{ get_user($dbm , "awilke") } , "\n";
85 :     print scalar @{ get_user($dbm) } , " Users\n";
86 :     print scalar @{ get_organisations($dbm) } , " Organisations\n";
87 :    
88 :     sub get_user
89 :     {
90 :     my($dbm, $user) = @_;
91 :    
92 :    
93 :    
94 :     my $users;
95 :     if ( $user ){
96 :     $users = $dbm->User->get_objects({ login => $user });
97 :     }
98 :     else{
99 :     $users = $dbm->User->get_objects();
100 :     }
101 :     if ($users && @$users)
102 :     {
103 :     return $users;
104 :     }
105 :     }
106 :    
107 :    
108 :     sub get_organisations{
109 :     my ($dbm, $org) = @_;
110 :     my $organisations = $dbm->Organisation->get_objects();
111 :     return $organisations;
112 :     }
113 :    
114 :     sub get_dbm{
115 :    
116 :     my $old_env = $ENV{DBHOST};
117 :     $ENV{DBHOST} = 'bioseed.mcs.anl.gov';
118 :     my $dbm;
119 :     eval {
120 :     $dbm = DBMaster->new('FortyEight_WebApplication');
121 :     };
122 :     if ($@)
123 :     {
124 :     if ($@ =~ /No database name given/)
125 :     {
126 :     $dbm = DBMaster->new(-database => 'FortyEight_WebApplication');
127 :     }
128 :     else
129 :     {
130 :     die $@;
131 :     }
132 :     }
133 :     return undef unless $dbm;
134 :     $ENV{DBHOST} = $old_env;
135 :    
136 :     return $dbm;
137 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3