From 33b2b38308c41fc9d182df241a317f700d861d9a Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Thu, 21 Nov 2019 22:16:35 +0000 Subject: Improve package scoring --- app/tasks/__init__.py | 4 ++++ app/tasks/forumtasks.py | 3 --- app/tasks/pkgtasks.py | 23 +++++++++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 app/tasks/pkgtasks.py (limited to 'app/tasks') diff --git a/app/tasks/__init__.py b/app/tasks/__init__.py index fb62cb0..1f3df02 100644 --- a/app/tasks/__init__.py +++ b/app/tasks/__init__.py @@ -69,6 +69,10 @@ CELERYBEAT_SCHEDULE = { 'topic_list_import': { 'task': 'app.tasks.forumtasks.importTopicList', 'schedule': crontab(minute=1, hour=1), + }, + 'package_score_update': { + 'task': 'app.tasks.pkgtasks.updatePackageScores', + 'schedule': crontab(minute=10, hour=1), } } celery.conf.beat_schedule = CELERYBEAT_SCHEDULE diff --git a/app/tasks/forumtasks.py b/app/tasks/forumtasks.py index 9b200fc..4a4e27f 100644 --- a/app/tasks/forumtasks.py +++ b/app/tasks/forumtasks.py @@ -171,7 +171,4 @@ def importTopicList(): topic.views = int(info["views"]) topic.created_at = info["date"] - for p in Package.query.all(): - p.recalcScore() - db.session.commit() diff --git a/app/tasks/pkgtasks.py b/app/tasks/pkgtasks.py new file mode 100644 index 0000000..8ff5836 --- /dev/null +++ b/app/tasks/pkgtasks.py @@ -0,0 +1,23 @@ +# Content DB +# Copyright (C) 2018 rubenwardy +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +from app.models import Package, PackageRelease +from app.tasks import celery + +@celery.task() +def updatePackageScores(): + Package.query.update({ "score": PackageRelease.score * 0.8 }) -- cgit v1.2.3