Ich habe eine HTML-Tabelle voller Server-IP-Adressen, und ich möchte sie alle 5 Minuten ping, um zu überprüfen, ob der Server lebt (und schließlich Tabellenzeilen abhebt abhängig davon, ob der Server tot/lebendig ist).Wie pinge ich einen Server mit Ajax in Laravel alle 5 Minuten?
Derzeit Ajax Ich verwende mit einem 5-Minuten-Intervall, das ein Verfahren in meinem Controller ruft:
var checkSims = function() {
$.ajax({
type: "GET",
url: '/checkSimStatus',
success: function(msg) {
onlineSims = msg['online'];
offlineSims = msg['offline'];
console.log(onlineSims);
console.log(offlineSims);
},
error: function() {
console.log('false');
}
});
}
var interval = 1000 * 60 * 1; // where X is your every X minutes
setInterval(checkSims, interval);
Dies ist jedoch nicht asynchron und während dieser Controller-Methode ist, um die IP-Adressen der Webserver Pingen kann keine Anfragen dienen .
Ich habe über Laravels Warteschlangensystem gelesen, aber ich bin mir nicht sicher, dass dies mir passen würde, da ich eine bestimmte Seite zum Auslösen des Jobs benötige und JS zum Hervorheben von Tabellenzeilen verwenden müsste.
Ich würde Laravel Queue-Funktionalität verwenden. Fügen Sie alle 5 Minuten jede IP zur Warteschlange hinzu und lassen Sie sie von der Warteschlangen-Workstation im Hintergrund verarbeiten. – Joe
@Joe Wie könnte ich dann die Tabellenzeilen der IPs markieren, die tot/lebendig sind? Deshalb wollte ich Ajax benutzen. Ich bin nicht sicher, wie man Laravels Warteschlangensystem mit Ajax verbindet – f7n
Das klingt nicht richtig. Es gibt keine Beschränkung auf eine einzige Anfrage, die zu einem Zeitpunkt ausgeführt wird, es sei denn, Sie verwenden den integrierten PHP-Server oder einen schlecht konfigurierten Webserver. – apokryfos