javascript - js处理json数据问题
PHPz
PHPz 2017-04-11 11:37:51
[JavaScript讨论组]

问题

利用js动态处理json数据,图表实时显示增量数据,代码之前测试可以正常显示,现在又不可以了,求指点

代码




    
    Data
    
    


是不是5s刷新一次写错了?

#!/usr/bin/env python
# coding=utf-8 

from flask import Flask,render_template,request
from mod import app,db,Cpu
import json

cx_time = 0

@app.route('/')
def index():
    cpu = Cpu.query.all()
    return render_template('index.html',cpu=cpu)

@app.route('/api/')
def api(name):
    if name=='data':
        q=request.args['q']
        global cx_time
        if cx_time > 0:
            qname = Cpu.query.filter(Cpu.time > cx_time / 1000).all()
        else:
            qname = Cpu.query.all()
        arr = []
        for i in qname:
            if q=='user':
                arr.append([i.time*1000,i.user])
            elif q=='system':
                arr.append([i.time*1000,i.system])
            elif q=='idle':
                arr.append([i.time*1000,i.idle])
        if len(arr)>0:
            cx_time=arr[-1][0]
            #cx_time=0
        #cx_time=0
        return json.dumps(arr)


@app.route('/data')
def data():
    global cx_time
    if cx_time > 0:
        cpu = Cpu.query.filter(Cpu.time > cx_time/1000 ).all()
    else:
        cpu = Cpu.query.all()
    arr = []
    for i in cpu:
        arr.append([i.time*1000,i.user])
    if len(arr)>0:
        cx_time =arr[-1][0]
    return json.dumps(arr)

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000,debug=True)
#!/usr/bin/env python
# coding=utf-8

from flask import Flask,render_template
from flask_sqlalchemy import SQLAlchemy

import os

basedir = os.path.abspath(os.path.dirname(__file__))

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.sqlite')
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

db = SQLAlchemy(app)

class Cpu(db.Model):
    user = db.Column(db.Float,primary_key=True)
    system = db.Column(db.Float)
    idle = db.Column(db.Float)
    time = db.Column(db.Integer)

    def __init__(self,user,system,idle,time):
        self.user = user
        self.system = system
        self.idle = idle
        self.time = time

    def __repr__(self):
        return '{0} {1}'.format(self.user,self.time)
#!/usr/bin/env python
# coding=utf-8 

import time
import psutil
from mod import db,Cpu

db.create_all()

def getCpu():
    info = psutil.cpu_times()
    data = []
    data.append(info.user)
    data.append(info.system)
    data.append(info.idle)
    cpu=Cpu(user=data[0],system=data[1],idle=data[2],time=int(time.time()))
    db.session.add(cpu)
    db.session.commit()

while True:
    time.sleep(5)
    getCpu()

代码如上,之前测试还可以的

PHPz
PHPz

学习是最好的投资!

全部回复(1)
迷茫

个人测过没有报错,请问楼主,现在又不可以了是什么意思?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号