mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-04-13 09:42:01 +00:00
47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
import datetime
|
|
|
|
from django.conf import settings
|
|
from django.contrib.auth.models import User
|
|
|
|
from apps.reader.models import UserSubscription
|
|
from apps.social.models import MSocialSubscription
|
|
from newsblur_web.celeryapp import app
|
|
from utils import log as logging
|
|
|
|
|
|
@app.task(name="freshen-homepage")
|
|
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()
|
|
|
|
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)
|
|
|
|
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)
|
|
|
|
|
|
@app.task(name="clean-analytics", time_limit=720 * 10)
|
|
def CleanAnalytics():
|
|
logging.debug(
|
|
" ---> Cleaning analytics... %s feed fetches"
|
|
% (settings.MONGOANALYTICSDB.nbanalytics.feed_fetches.count(),)
|
|
)
|
|
day_ago = datetime.datetime.utcnow() - datetime.timedelta(days=1)
|
|
settings.MONGOANALYTICSDB.nbanalytics.feed_fetches.delete_many(
|
|
{
|
|
"date": {"$lt": day_ago},
|
|
}
|
|
)
|