model.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:telemetrics-backend 作者: clearlinux 项目源码 文件源码
def get_heartbeat_msgs(most_recent=None):
        # These two expressions are SQL CASE conditional expressions, later
        # used within count(distinct ...) aggregates for the query.
        internal_expr = case([(Record.external == False, Record.machine_id), ]).label('internal_count')
        external_expr = case([(Record.external == True, Record.machine_id), ]).label('external_count')

        q = db.session.query(Build.build, db.func.count(db.distinct(internal_expr)), db.func.count(db.distinct(external_expr)))
        q = q.join(Record).join(Classification)
        q = q.filter(Classification.classification == "org.clearlinux/heartbeat/ping")
        q = q.filter(Record.os_name == 'clear-linux-os')
        q = q.group_by(Build.build)

        if most_recent:
            interval_sec = 24 * 60 * 60 * int(most_recent)
            current_time = time()
            sec_in_past = current_time - interval_sec
            q = q.filter(Record.tsp > sec_in_past)

        q = q.order_by(cast(Build.build, db.Integer))
        return q.all()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号