<?php
-chdir('../');
+@chdir(dirname(__FILE__).'/../');
require_once('mitsql.cfg.php');
require_once('mitsql.lib.php');
-define('MAX_PROC_TIME', 10);
+isOffline() && exit;
-echo '<pre>';
+define('MAX_PROC_TIME', 10);
$baddbs = $badusers = $bad = array();
$result = mysql_query('SHOW FULL PROCESSLIST');
$baddb = mysql_escape_string($badproc['db']);
$badtime = $badproc['Time'];
$badquery = $badproc['Info'];
- mysql_query('KILL '.$badproc['Id']);
if (empty($baddb)) continue;
$sql = "SELECT User.UserId,User.Name,User.Email
FROM `User`
NATURAL JOIN DBOwner
NATURAL JOIN DB
- WHERE DB.Name = '$baddb'";
+ WHERE DB.Name = '$baddb'
+ AND User.UL < 10";
$r = fetchRows(DBSelect($sql),'UserId');
foreach($r as $addy) {
$mailtos[] = $addy['Email'];
$mailnames[] = $addy['Name'];
}
+ if (empty($mailtos)) continue;
$mailto = implode(', ',$mailtos);
$mailname = implode(', ',$mailnames);
$mailsubj = "[sql] Slow Query on $baddb";
A slow query was found on your database: $baddb
It took $badtime seconds and has been aborted.
-We do not allow inefficient SQL queries to run this long to conserve server
-resources. Your query has been appended to this message for your records.
-Please optimize your queries to avoid having your query killed in the
-future. If you have any questions, please contact sql@mit.edu.
+We do not allow inefficient SQL queries to run this long. Your query has
+been appended to this message for your records. Please optimize your
+queries to avoid having your queries killed in the future. If you have any
+questions, please contact sql@mit.edu.
-The SQL Service is available at http://sql.mit.edu/
+This SQL Service is available at sql.mit.edu.
---------------------------------------------------------------------------
$badquery";
- $mailto = 'jwp@mit.edu';
+ mysql_query('KILL '.$badproc['Id']);
mail($mailto,$mailsubj,$mailbody,"From: SQL Service <sql@mit.edu>\r\nBcc: sql@mit.edu\r\n");
}