diff --git a/app/listmonk/tasks.py b/app/listmonk/tasks.py index ad8d82c..c4b8a50 100644 --- a/app/listmonk/tasks.py +++ b/app/listmonk/tasks.py @@ -5,6 +5,7 @@ import tempfile from celery.schedules import crontab from django.conf import settings from django.utils import timezone +from django.core.cache import cache from . import utils from ..signalbot import rpc @@ -22,9 +23,11 @@ def send_week(): monday = views.get_monday(now) week, archive = models.Item.public(now) week_obj = models.Week.objects.filter(monday=monday).first() - if not week_obj: + notified_key = "week-%s-notified" % monday + if not week_obj and not cache.get(notified_key): message = "no title for week, can not send out email please add: %s/admin/item/week/add/?monday=%s" % (settings.URL, monday) r = rpc.send(message, group=settings.SIGNAL_MODERATORS_GROUP) + cache.set(notified_key, True, 24*60*60) elif week.filter(announced=None).exists(): logger.error("waiting for last item of the week to be public") elif not week_obj.published: