def status_api(): status = {} info = redis_connection.info() status['redis_used_memory'] = info['used_memory_human'] status['version'] = __version__ status['queries_count'] = models.Query.select().count() status['query_results_count'] = models.QueryResult.select().count() status['dashboards_count'] = models.Dashboard.select().count() status['widgets_count'] = models.Widget.select().count() status['workers'] = [] manager_status = redis_connection.hgetall('redash:status') status['manager'] = manager_status status['manager']['queue_size'] = redis_connection.llen('queries') + redis_connection.llen('scheduled_queries') status['manager']['outdated_queries_count'] = models.Query.outdated_queries().count() queues = {} for ds in models.DataSource.select(): for queue in (ds.queue_name, ds.scheduled_queue_name): queues.setdefault(queue, set()) queues[queue].add(ds.name) status['manager']['queues'] = {} for queue, sources in queues.iteritems(): status['manager']['queues'][queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } return jsonify(status)
def get_status(): status = {} info = redis_connection.info() status['redis_used_memory'] = info['used_memory'] status['redis_used_memory_human'] = info['used_memory_human'] status['version'] = __version__ status['queries_count'] = models.db.session.query(models.Query).count() if settings.FEATURE_SHOW_QUERY_RESULTS_COUNT: status['query_results_count'] = models.db.session.query( models.QueryResult).count() status['unused_query_results_count'] = models.QueryResult.unused( ).count() status['dashboards_count'] = models.Dashboard.query.count() status['widgets_count'] = models.Widget.query.count() status['workers'] = [] status['manager'] = redis_connection.hgetall('redash:status') queues = {} for ds in models.DataSource.query: for queue in (ds.queue_name, ds.scheduled_queue_name): queues.setdefault(queue, set()) queues[queue].add(ds.name) status['manager']['queues'] = {} for queue, sources in queues.iteritems(): status['manager']['queues'][queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } status['manager']['queues']['celery'] = { 'size': redis_connection.llen('celery'), 'data_sources': '' } status['database_metrics'] = [] # have to include the fake FROM in the SQL to prevent an IndexError queries = [ [ 'Query Results Size', "pg_size_pretty(pg_total_relation_size('query_results')) as size from (select 1) as a" ], [ 'Redash DB Size', "pg_size_pretty(pg_database_size('postgres')) as size from (select 1) as a" ] ] for query_name, query in queries: result = models.db.session.query(query).first() status['database_metrics'].append([query_name, result[0]]) return status
def get_queues_status(): queues = get_queues() for queue, sources in queues.iteritems(): queues[queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } queues['celery'] = { 'size': redis_connection.llen('celery'), 'data_sources': '' } return queues
def get_queues_status(): queues = get_queues() for queue, sources in queues.iteritems(): queues[queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } queues['celery'] = { 'size': redis_connection.llen('celery'), 'data_sources': '' } return queues
def get_status(): status = {} info = redis_connection.info() status['redis_used_memory'] = info['used_memory_human'] status['version'] = __version__ status['queries_count'] = models.db.session.query(models.Query).count() if settings.FEATURE_SHOW_QUERY_RESULTS_COUNT: status['query_results_count'] = models.db.session.query(models.QueryResult).count() status['unused_query_results_count'] = models.QueryResult.unused().count() status['dashboards_count'] = models.Dashboard.query.count() status['widgets_count'] = models.Widget.query.count() status['workers'] = [] status['manager'] = redis_connection.hgetall('redash:status') queues = {} for ds in models.DataSource.query: for queue in (ds.queue_name, ds.scheduled_queue_name): queues.setdefault(queue, set()) queues[queue].add(ds.name) status['manager']['queues'] = {} for queue, sources in queues.iteritems(): status['manager']['queues'][queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } return status
def get_status(): status = {} info = redis_connection.info() status['redis_used_memory'] = info['used_memory_human'] status['version'] = __version__ status['queries_count'] = models.Query.select().count() status['query_results_count'] = models.QueryResult.select().count() status['unused_query_results_count'] = models.QueryResult.unused().count() status['dashboards_count'] = models.Dashboard.select().count() status['widgets_count'] = models.Widget.select().count() status['workers'] = [] manager_status = redis_connection.hgetall('redash:status') status['manager'] = manager_status status['manager']['outdated_queries_count'] = len( models.Query.outdated_queries()) queues = {} for ds in models.DataSource.select(): for queue in (ds.queue_name, ds.scheduled_queue_name): queues.setdefault(queue, set()) queues[queue].add(ds.name) status['manager']['queues'] = {} for queue, sources in queues.iteritems(): status['manager']['queues'][queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } return status
def get_queues_status(): queues = {} for queue in get_queues(): queues[queue] = {'size': redis_connection.llen(queue)} return queues
def get_status(): status = {} info = redis_connection.info() status['Redis使用内存'] = info['used_memory_human'] status['版本号'] = __version__ status['查询数'] = models.db.session.query(models.Query).count() if settings.FEATURE_SHOW_QUERY_RESULTS_COUNT: status['查询结果数'] = models.db.session.query(models.QueryResult).count() status['未使用查询结果数'] = models.QueryResult.unused().count() status['仪表盘数'] = models.Dashboard.query.count() status['控件数'] = models.Widget.query.count() status['workers'] = [] manager_status = redis_connection.hgetall('redash:status') status['manager'] = manager_status status['manager']['outdated_queries_count'] = len( models.Query.outdated_queries()) queues = {} for ds in models.DataSource.query: for queue in (ds.queue_name, ds.scheduled_queue_name): queues.setdefault(queue, set()) queues[queue].add(ds.name) status['manager']['queues'] = {} for queue, sources in queues.iteritems(): status['manager']['queues'][queue] = { 'data_sources': ', '.join(sources), 'size': redis_connection.llen(queue) } return status
def get_queues_status(): queues = {} for queue in get_queues(): queues[queue] = { 'size': redis_connection.llen(queue) } return queues
def get_queues_status(): return { **{ queue: { "size": redis_connection.llen(queue) } for queue in get_celery_queues() }, **{ queue.name: { "size": len(queue) } for queue in Queue.all(connection=rq_redis_connection) }, }
def get_queues_status(): return dict({queue: {'size': redis_connection.llen(queue)} for queue in get_celery_queues()}.items() + {queue.name: {'size': len(queue)} for queue in Queue.all(connection=redis_connection)}.items())