2017-07-05 13 views
0

私は角度のフロントエンドを提供する竜巻のバックエンドを持っています。データベースを更新すると、更新されたデータは竜巻apiによって取得されません。サーバーを再起動すると表示されます。誰かがこれで私を助けてくれますか?フェッチされたデータをリアルタイムで更新したい。トルネード:mysornの更新データがフロントエンドに表示されず、トルネードが表示されます。サーバーを再起動した後にのみ表示されます

AngularJSの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); 
     }); 

トルネードAPI:

 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)) 
+0

隔離された取引? – phd

+0

はい、それらは分離されています。データは、トルネードAPIによって処理されない別のスクリプトから更新されます。 –

+0

フロントエンドの部分(角)がajaxリクエストを行うことを確認しますか?いくつかのコードを表示、それは助けるかもしれない – kwarunek

答えて

0

あなたは何のMySQLコネクタを使用していると述べませんが、このような何かをしようとMySQLdbは使用している場合、 :

class ApiRequestHandler(web.RequestHandler): 
    def get(self): 
     cur = conn.cursor(MySQLdb.cursors.DictCursor) 
     cur.execute("SELECT * from db.table") 
     rows = cur.fetchall() 
     self.write(json.dumps(rows)) 

また、asyncio呼び出しの使用を開始することをお勧めします。たとえば、python 3.5またはあなたはaiomysqlを使用することができます

class ApiRequestHandler(web.RequestHandler): 
    async def get(self): 
     cur = await conn.cursor() 
     await cur.execute("SELECT * from db.table") 
     rows = await cur.fetchall() 
     self.write(json.dumps(rows)) 
関連する問題