58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
|
|
const url = 'http://127.0.0.1:8000/sql_status_info/';
|
|
const interval = 10000; // 10 seconds
|
|
let timer = null;
|
|
let timerStarted = false;
|
|
let timerCompleted = false;
|
|
const timerDuration = 15000; // 2 minutes in milliseconds
|
|
|
|
function checkMysqlStatus() {
|
|
fetch(url)
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
if (data.mysql > 0) {
|
|
if (!timerStarted) {
|
|
startTimer();
|
|
}
|
|
} else {
|
|
if (timerStarted) {
|
|
resetTimer();
|
|
}
|
|
if (timerCompleted) {
|
|
hideAlert();
|
|
}
|
|
}
|
|
})
|
|
.catch(error => console.error('Error fetching mysql status:', error));
|
|
}
|
|
|
|
function startTimer() {
|
|
timerStarted = true;
|
|
timerCompleted = false;
|
|
timer = setTimeout(() => {
|
|
timerCompleted = true;
|
|
showAlert();
|
|
}, timerDuration);
|
|
}
|
|
|
|
function resetTimer() {
|
|
clearTimeout(timer);
|
|
timerStarted = false;
|
|
timerCompleted = false;
|
|
}
|
|
|
|
function showAlert() {
|
|
document.querySelector('.sidebar-section-box').style.display = 'block';
|
|
}
|
|
|
|
function hideAlert() {
|
|
document.querySelector('.sidebar-section-box').style.display = 'none';
|
|
}
|
|
|
|
// Check status every 10 seconds
|
|
setInterval(checkMysqlStatus, interval);
|
|
|
|
// Initial check
|
|
checkMysqlStatus();
|
|
});
|