From b26ff8ee77b2e78b06836dd9523a427404009deb Mon Sep 17 00:00:00 2001 From: knst-kotov Date: Thu, 16 Dec 2021 20:45:50 +0300 Subject: [PATCH] remove topAuthors --- resolvers/zine.py | 36 +----------------------------------- schema.graphql | 1 - 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/resolvers/zine.py b/resolvers/zine.py index d042d7e7..cc66c336 100644 --- a/resolvers/zine.py +++ b/resolvers/zine.py @@ -152,31 +152,6 @@ class ShoutsCache: shouts.append(shout) async with ShoutsCache.lock: ShoutsCache.top_viewed = shouts - - ''' - @staticmethod - async def prepare_top_authors(): - month_ago = datetime.now() - timedelta(days = 30) - with local_session() as session: - shout_with_view = select(Shout.slug, func.sum(ShoutViewByDay.value).label("view")).\ - join(ShoutViewByDay).\ - where(and_(ShoutViewByDay.day > month_ago, Shout.publishedAt != None)).\ - group_by(Shout.slug).\ - order_by(desc("view")).cte() - stmt = select(ShoutAuthor.user, func.sum(shout_with_view.c.view).label("view")).\ - join(shout_with_view, ShoutAuthor.shout == shout_with_view.c.slug).\ - group_by(ShoutAuthor.user).\ - order_by(desc("view")).\ - limit(ShoutsCache.limit) - authors = {} - for row in session.execute(stmt): - authors[row.user] = row.view - authors_ids = authors.keys() - authors = session.query(User).filter(User.id.in_(authors_ids)).all() - async with ShoutsCache.lock: - ShoutsCache.top_authors = authors - ''' - @staticmethod async def worker(): @@ -188,7 +163,6 @@ class ShoutsCache: await ShoutsCache.prepare_top_overall() await ShoutsCache.prepare_top_viewed() await ShoutsCache.prepare_recent_shouts() - # await ShoutsCache.prepare_top_authors() print("shouts cache update finished") except Exception as err: print("shouts cache worker error = %s" % (err)) @@ -213,8 +187,7 @@ class ShoutSubscriptions: async with ShoutSubscriptions.lock: for subs in ShoutSubscriptions.subscriptions: subs.put_nowait(shout) - - + @query.field("topViewed") async def top_viewed(_, info, limit): async with ShoutsCache.lock: @@ -235,13 +208,6 @@ async def recent_shouts(_, info, limit): async with ShoutsCache.lock: return ShoutsCache.recent_shouts[:limit] - -# @query.field("topAuthors") -# async def top_authors(_, info, limit): -# async with ShoutsCache.lock: -# return ShoutsCache.top_authors[:limit] - - @mutation.field("createShout") @login_required async def create_shout(_, info, input): diff --git a/schema.graphql b/schema.graphql index d61ebb59..e41e72b9 100644 --- a/schema.graphql +++ b/schema.graphql @@ -164,7 +164,6 @@ type Query { topMonth(limit: Int): [Shout]! topOverall(limit: Int): [Shout]! recents(limit: Int): [Shout]! - topAuthors(limit: Int): [User]! # topics topicsBySlugs(slugs: [String]): [Topic]!