Changeset 646 for trunk/web/addons/job_monarch/jobstore.php
- Timestamp:
- 08/26/09 12:15:10 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/web/addons/job_monarch/jobstore.php
r637 r646 57 57 include_once "./libtoga.php"; 58 58 59 $ds = new DataSource(); 60 $myxml_data = &$ds->getData(); 61 62 session_start(); 63 unset( $_SESSION['data'] ); 64 $_SESSION['data'] = &$myxml_data; 59 function makeSession() 60 { 61 $ds = new DataSource(); 62 $myxml_data = &$ds->getData(); 63 64 unset( $_SESSION['data'] ); 65 66 $_SESSION['data'] = &$myxml_data; 67 $_SESSION['gather_time'] = time(); 68 } 69 70 global $session_active, $_SESSION; 71 72 function checkSessionPollInterval( $poll_interval ) 73 { 74 global $session_active, $_SESSION; 75 76 if( ! session_active ) 77 { 78 return 0; 79 } 80 81 if( isset( $_SESSION['poll_interval'] ) ) 82 { 83 if( $poll_interval <> $_SESSION['poll_interval'] ) 84 { 85 $_SESSION['poll_interval'] = $poll_interval; 86 } 87 } 88 else 89 { 90 $_SESSION['poll_interval'] = $poll_interval; 91 } 92 93 session_write_close(); 94 95 $session_active = false; 96 } 97 98 function checkSession() 99 { 100 global $session_active, $_SESSION; 101 102 session_start(); 103 104 $session_active = true; 105 106 // I got nothing; create session 107 // 108 if( ! isset( $_SESSION['gather_time'] ) || ! isset( $_SESSION['data'] ) ) 109 { 110 makeSession(); 111 112 return 0; 113 } 114 115 if( isset( $_SESSION['poll_interval'] ) ) 116 { 117 $gather_time = $_SESSION['gather_time']; 118 $poll_interval = $_SESSION['poll_interval']; 119 120 $cur_time = time(); 121 122 // If poll_interval time elapsed since last update; recreate session 123 // 124 if( ($cur_time - $gather_time) >= $poll_interval ) 125 { 126 makeSession(); 127 128 return 0; 129 } 130 } 131 } 132 133 checkSession(); 65 134 66 135 global $jobs, $metrics; 67 136 68 137 $data_gatherer = new DataGatherer( $clustername ); 69 $data_gatherer->parseXML( &$ myxml_data);138 $data_gatherer->parseXML( &$_SESSION['data'] ); 70 139 71 140 $heartbeat = &$data_gatherer->getHeartbeat(); … … 495 564 $reported = (int) $jobs[$jid]['reported']; 496 565 566 $poll_interval = (int) $jobs[$jid]['poll_interval']; 567 568 checkSessionPollInterval( $poll_interval ); 569 497 570 $time = time(); 498 571 … … 501 574 $job_runtime = $time - intval( $jobs[$jid]['start_timestamp'] ); 502 575 //$job_runtime = date( 'u' ) - intval( $jobs[$jid]['start_timestamp'] ); 503 //$job_window = intval( $job_runtime ) * 1.2;576 $job_window = intval( $job_runtime ) * 1.2; 504 577 505 578 $jobrange = -$job_window; … … 508 581 509 582 $nr['jid'] = $jid; 583 $nr['nodename'] = $host; 510 584 511 585 $hostar = array( $host ); … … 523 597 // maybe later to popup? 524 598 // 525 //$host_link = "\"../../?c=$cluster_url&h=$host_url&r=job&jr=$jobrange&job_start=$jobstart\""; 599 $host_link = "../../?c=$cluster_url&h=$host_url&r=job&jr=$jobrange&job_start=$jobstart"; 600 601 $nr['hostlink'] = $host_link; 526 602 527 603 if ( $val["TYPE"] == "timestamp" || $always_timestamp[$metricname] ) … … 608 684 $jr['requested_time'] = makeTime( timeToEpoch( $jobs[$jobid]['requested_time'] ) ); 609 685 686 $poll_interval = (int) $jobs[$jobid]['poll_interval']; 687 688 checkSessionPollInterval( $poll_interval ); 689 610 690 if( $jr['status'] == 'R' ) 611 691 {
Note: See TracChangeset
for help on using the changeset viewer.