2012-07-16 23:40:17 -07:00
|
|
|
import datetime
|
2021-01-04 13:33:56 -05:00
|
|
|
from newsblur_web.celeryapp import app
|
2012-07-16 23:40:17 -07:00
|
|
|
from utils import log as logging
|
|
|
|
from django.contrib.auth.models import User
|
2012-08-09 20:42:04 -07:00
|
|
|
from django.conf import settings
|
2013-05-10 16:11:30 -07:00
|
|
|
from apps.reader.models import UserSubscription
|
2012-08-09 20:42:04 -07:00
|
|
|
from apps.social.models import MSocialSubscription
|
2012-07-16 23:40:17 -07:00
|
|
|
|
2020-11-13 13:26:25 -05:00
|
|
|
@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)
|
2012-08-09 20:42:04 -07: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)
|
2012-09-27 13:18:51 -07:00
|
|
|
|
2020-12-08 13:47:53 -05:00
|
|
|
@app.task(name='clean-analytics', time_limit=720*10)
|
2020-11-13 13:26:25 -05:00
|
|
|
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},
|
|
|
|
})
|