- Timestamp:
- 08/03/05 12:19:45 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/addons/toga/search.php
r158 r180 200 200 } 201 201 202 function sortJobs( $jobs, $nodes, $sortby, $sortorder ) { 203 204 //printf("sortby = %s sortorder = %s\n", $sortby, $sortorder ); 205 206 $sorted = array(); 207 208 $cmp = create_function( '$a, $b', 209 "global \$sortby, \$sortorder;". 210 211 "if( \$a == \$b ) return 0;". 212 213 "if (\$sortorder==\"desc\")". 214 "return ( \$a < \$b ) ? 1 : -1;". 215 "else if (\$sortorder==\"asc\")". 216 "return ( \$a > \$b ) ? 1 : -1;" ); 217 218 //print_r( $jobs ); 219 220 foreach( $jobs as $jobid => $jobattrs ) { 221 222 $state = $jobattrs[status]; 223 $user = $jobattrs[owner]; 224 $queue = $jobattrs[queue]; 225 $name = $jobattrs[name]; 226 $req_cpu = $jobattrs[requested_time]; 227 $req_memory = $jobattrs[requested_memory]; 228 229 //if( $state == 'R' ) 230 $mynodes = count( $nodes[$jobid] ); 231 //else 232 // $nodes = $jobattrs[nodes]; 233 234 $ppn = (int) $jobattrs[ppn] ? $jobattrs[ppn] : 1; 235 $cpus = $mynodes * $ppn; 236 $start_time = (int) $jobattrs[start_timestamp]; 237 $stop_time = (int) $jobattrs[stop_timestamp]; 238 $runningtime = $stop_time - $start_time; 239 240 switch( $sortby ) { 241 case "id": 242 $sorted[$jobid] = $jobid; 243 break; 244 245 case "state": 246 $sorted[$jobid] = $state; 247 break; 248 249 case "user": 250 $sorted[$jobid] = $user; 251 break; 252 253 case "queue": 254 $sorted[$jobid] = $queue; 255 break; 256 257 case "name": 258 $sorted[$jobid] = $name; 259 break; 260 261 case "req_cpu": 262 $sorted[$jobid] = timeToEpoch( $req_cpu ); 263 break; 264 265 case "req_mem": 266 $sorted[$jobid] = $req_memory; 267 break; 268 269 case "nodes": 270 $sorted[$jobid] = $mynodes; 271 break; 272 273 case "cpus": 274 $sorted[$jobid] = $cpus; 275 break; 276 277 case "start": 278 $sorted[$jobid] = $start_time; 279 break; 280 281 case "runningtime": 282 $sorted[$jobid] = $runningtime; 283 break; 284 285 default: 286 break; 287 288 } 289 } 290 291 //uasort( $sorted, $cmp ); 292 if( $sortorder == "asc" ) 293 arsort( $sorted ); 294 else if( $sortorder == "desc" ) 295 asort( $sorted ); 296 297 //print_r( $sorted ); 298 299 return array_keys( $sorted ); 300 } 301 202 302 function makeSearchPage() { 203 303 global $clustername, $tpl, $id, $user, $name, $start_from_time, $start_to_time, $queue; 204 304 global $end_from_time, $end_to_time, $filter, $default_showhosts, $m, $hosts_up; 205 global $period_start, $period_stop ;305 global $period_start, $period_stop, $sortby, $sortorder; 206 306 207 307 $metricname = $m; … … 222 322 223 323 $tpl->newBlock( "search_results" ); 324 $tpl->assign( "sortby", $sortby); 325 $tpl->assign( "sortorder", $sortorder); 224 326 $tdb = new TarchDbase(); 225 327 if( $start_from_time ) $start_from_time = datetimeToEpoch( $start_from_time ); … … 229 331 $search_ids = $tdb->searchDbase( $id, $queue, $user, $name, $start_from_time, $start_to_time, $end_from_time, $end_to_time ); 230 332 231 foreach( $search_ids as $foundid ) { 232 233 $job = $tdb->getJobArray( $foundid ); 234 $nodes = $tdb->getNodesForJob( $foundid ); 333 $jobs = array(); 334 $nodes = array(); 335 336 //print_r( $search_ids ); 337 338 foreach( $search_ids as $myid ) { 339 340 //printf( "myid %s\n", $myid ); 341 $jobs[$myid] = $tdb->getJobArray( $myid ); 342 $nodes[$myid] = $tdb->getNodesForJob( $myid ); 343 } 344 345 //print_r( $nodes ); 346 $sorted_search = sortJobs( $jobs, $nodes, $sortby, $sortorder ); 347 348 //print_r( $sorted_search ); 349 foreach( $sorted_search as $sortid ) { 350 351 $job = $jobs[$sortid]; 352 //print_r( $job ); 353 $foundid = $job[id]; 354 //printf( "foundid %s\n", $foundid ); 355 356 //$job = $tdb->getJobArray( $foundid ); 357 //$nodes = $tdb->getNodesForJob( $foundid ); 235 358 236 359 $tpl->newBlock( "node" ); … … 243 366 $tpl->assign( "req_memory", $job[requested_memory] ); 244 367 245 $nodes_nr = count( $nodes );368 $nodes_nr = count( $nodes[$foundid] ); 246 369 247 370 // need to replace later with domain stored from dbase … … 325 448 $hosts_up = array(); 326 449 327 foreach( $nodes as $mynode )450 foreach( $nodes[$jobid] as $mynode ) 328 451 $hosts_up[] = $mynode[hostname]; 329 452
Note: See TracChangeset
for help on using the changeset viewer.