import time from celery import shared_task from django.db.models import F from postamates.settings import AGE_DAY_LIMIT from service.models import PlacementPoint # Запустить worker # celery -A postamates worker -l info # Запустить scheduler # celery -A postamates beat -l INFO. @shared_task() def raschet(): print('Hello. Celery task is running...') time.sleep(5) print('Finish') @shared_task() def add_age_day(): qs = PlacementPoint.objects c1 = qs.filter(sample_trn=True).count() qs.update(age_day=F('age_day') + 1) qs2 = qs.filter(age_day__gt=AGE_DAY_LIMIT) qs2.update(sample_trn=True) c2 = PlacementPoint.objects.filter(sample_trn=True).count() if c2 - c1 != 0: raschet.delay()