J'ai un backend tornado qui sert un frontend angulaire. Lors de la mise à jour de la base de données, les données mises à jour ne sont pas récupérées par l'API tornado. Il n'apparaît qu'après le redémarrage du serveur. Quelqu'un pourrait m'aider avec ça? Je veux que les données récupérées soient mises à jour en temps réel.Tornade: Mise à jour des données de mysql n'apparaissant pas dans frontend servi par tornado. Afficher uniquement après avoir redémarré le serveur
AngularJS demande ajax:
$http({
method: "GET",
url: "http://localhost:9915/api/"
}).then(function mySuccess(response) {
console.log(response);
$scope.data = response.data;
sharedData.set(response.data);
for (var i = $scope.data.length - 1; i >= 0; i--) {
var coverageVal = $scope.data[i].Coverage;
var coverageHealth = $scope.data[i].Health;
if (coverageVal >= 95.00) {
$scope.data[i]["colorCoverage"] = "cyan";
} else if (coverageVal >= 90.00 && coverageVal < 95.00) {
$scope.data[i]["colorCoverage"] = "warning";
} else {
$scope.data[i]["colorCoverage"] = "danger";
}
if (coverageHealth >= 95.00) {
$scope.data[i]["colorHealth"] = "cyan";
} else if (coverageHealth >= 90.00 && coverageHealth < 95.00) {
$scope.data[i]["colorHealth"] = "warning";
} else {
$scope.data[i]["colorHealth"] = "danger";
}
}
}, function myError(err) {
console.log("error");
console.log(err);
});
Tornado api pour extraire des données:
class ApiRequestHandler(web.RequestHandler):
def get(self):
cur = conn.cursor()
cur.execute("SELECT * from db.table")
res = []
for row in cur:
res.append(row)
self.write(json.dumps(res))
Transactions isolées? – phd
oui, ils sont isolés. Les données sont mises à jour à partir d'un autre script non géré par le tornado api. –
Confirmez-vous que la partie frontale (angulaire) fait la requête ajax? Montrer du code, ça peut aider – kwarunek