Ignore:
Timestamp:
07/11/08 16:25:59 (16 years ago)
Author:
ramonb
Message:

job_monarch/jobstore.php:

  • filter jobs

js/jobgrid.js:

  • add and remove proper CSS class to cells for filters

job_monarch/css/styles.css:

  • cleanup, pretty colors
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/web2/addons/job_monarch/jobstore.php

    r538 r543  
    1313//
    1414$query                  = isset($_POST['query']) ? $_POST['query'] : null;
     15
     16// Filter values
     17//
     18$jid                    = isset($_POST['jid']) ? $_POST['jid'] : null;
     19$owner                  = isset($_POST['owner']) ? $_POST['owner'] : null;
     20$status                 = isset($_POST['status']) ? $_POST['status'] : null;
     21$queue                  = isset($_POST['queue']) ? $_POST['queue'] : null;
    1522
    1623global $c, $clustername, $cluster;
     
    209216}
    210217
    211 
     218function filterJobs( $jobs )
     219{
     220        global $jid, $owner, $queue,  $status;
     221
     222        $filtered_jobs  = array();
     223
     224        if( isset( $jobs ) && count( $jobs ) > 0 )
     225        {
     226                foreach( $jobs as $jobid => $jobattrs )
     227                {
     228                                $state          = $jobattrs[status];
     229                                $user           = $jobattrs[owner];
     230                                $jqueue          = $jobattrs[queue];
     231                                $name           = $jobattrs[name];
     232                                $req_cpu        = $jobattrs[requested_time];
     233                                $req_memory     = $jobattrs[requested_memory];
     234
     235                                if( $state == 'R' )
     236                                {
     237                                        $nodes = count( $jobattrs[nodes] );
     238                                }
     239                                else
     240                                {
     241                                        $nodes = $jobattrs[nodes];
     242                                }
     243
     244                                $ppn            = (int) $jobattrs[ppn] ? $jobattrs[ppn] : 1;
     245                                $cpus           = $nodes * $ppn;
     246                                $queued_time    = (int) $jobattrs[queued_timestamp];
     247                                $start_time     = (int) $jobattrs[start_timestamp];
     248                                $runningtime    = $report_time - $start_time;
     249       
     250                                $keepjob        = true;
     251
     252                                if( $jid )
     253                                {
     254                                        if( $jobid != $jid )
     255                                        {
     256                                                $keepjob        = false;
     257                                        }
     258                                }
     259                                if( $owner )
     260                                {
     261                                        if( $user != $owner )
     262                                        {
     263                                                $keepjob        = false;
     264                                        }
     265                                }
     266                                if( $queue )
     267                                {
     268                                        if( $jqueue != $queue )
     269                                        {
     270                                                $keepjob        = false;
     271                                        }
     272                                }
     273                                if( $status )
     274                                {
     275                                        if( $state != $status )
     276                                        {
     277                                                $keepjob        = false;
     278                                        }
     279                                }
     280                                if( $keepjob )
     281                                {
     282                                        $filtered_jobs[$jobid]  = $jobattrs;
     283                                }
     284                }
     285        }
     286
     287        return $filtered_jobs;
     288}
    212289
    213290function getList()
     
    215292        global $jobs, $hearbeat, $pstart, $pend;
    216293        global $sortfield, $sortorder, $query;
     294        global $jid, $owner, $queue,  $status;
    217295
    218296        $job_count              = count( $jobs );
     
    230308        $sorted_jobs            = sortJobs( $jobs, $sortfield, $sortorder );
    231309
    232         if( $query != null )
     310        if( $query )
    233311        {
    234312                $jobs                   = quickSearchJobs( $jobs, $query );
     313        }
     314        if( $jid || $owner || $queue || $status )
     315        {
     316                $jobs                   = filterJobs( $jobs );
    235317        }
    236318        $result_count           = count( $jobs );
Note: See TracChangeset for help on using the changeset viewer.