NewsBlur/apps/reader/tasks.py

48 lines
1.6 KiB
Python
Raw Normal View History

import datetime
2024-04-24 09:50:42 -04:00
from django.conf import settings
2024-04-24 09:50:42 -04:00
from django.contrib.auth.models import User
2013-05-10 16:11:30 -07:00
from apps.reader.models import UserSubscription
from apps.social.models import MSocialSubscription
2024-04-24 09:50:42 -04:00
from newsblur_web.celeryapp import app
from utils import log as logging
2024-04-24 09:43:56 -04:00
@app.task(name="freshen-homepage")
2020-11-13 13:26:25 -05:00
def FreshenHomepage():
day_ago = datetime.datetime.utcnow() - datetime.timedelta(days=1)
user = User.objects.get(username=settings.HOMEPAGE_USERNAME)
user.profile.last_seen_on = datetime.datetime.utcnow()
user.profile.save()
2024-04-24 09:43:56 -04:00
2020-11-13 13:26:25 -05:00
usersubs = UserSubscription.objects.filter(user=user)
logging.debug(" ---> %s has %s feeds, freshening..." % (user.username, usersubs.count()))
for sub in usersubs:
sub.mark_read_date = day_ago
sub.needs_unread_recalc = True
sub.save()
sub.calculate_feed_scores(silent=True)
2024-04-24 09:43:56 -04:00
2020-11-13 13:26:25 -05:00
socialsubs = MSocialSubscription.objects.filter(user_id=user.pk)
logging.debug(" ---> %s has %s socialsubs, freshening..." % (user.username, socialsubs.count()))
for sub in socialsubs:
sub.mark_read_date = day_ago
sub.needs_unread_recalc = True
sub.save()
sub.calculate_feed_scores(silent=True)
2024-04-24 09:43:56 -04:00
@app.task(name="clean-analytics", time_limit=720 * 10)
2020-11-13 13:26:25 -05:00
def CleanAnalytics():
2024-04-24 09:43:56 -04:00
logging.debug(
" ---> Cleaning analytics... %s feed fetches"
% (settings.MONGOANALYTICSDB.nbanalytics.feed_fetches.count(),)
)
2020-11-13 13:26:25 -05:00
day_ago = datetime.datetime.utcnow() - datetime.timedelta(days=1)
2024-04-24 09:43:56 -04:00
settings.MONGOANALYTICSDB.nbanalytics.feed_fetches.delete_many(
{
"date": {"$lt": day_ago},
}
)