from threading import Thread from time import sleep from django.utils import timezone from .models import Review, CustomReply from .review_utils import populate_reviews def un_replied_reviews_with_no_comment(): now = timezone.now() date = now - timezone.timedelta(days=30) reviews = Review.objects.filter(comment=None, reply=None, star_rating=5, update_time__gte=date).order_by('update_time') return reviews def task(): while True: replies = un_replied_reviews_with_no_comment() # TODO: reply reviews in background sleep(60*60*6) thread = Thread(target=task) # thread.start()