Я пытаюсь использовать задание Cron для обновления количества дней, в течение которых каждая запись в моей базе данных была «открыта» (т. Е. Количество дней между сегодняшним днем и датой создания). Логика, которую я использую, заключается в том, что задание cron запускается каждую ночь в 23:00 и обновляет поле days_open (IntegerField) на F ('days_open') + 1 при каждом запуске задания.
Я установил время выполнения раз в минуту для целей тестирования. Я запустил "python manage.py runcrons" request_form_app.cron.DaysOpenCronJob "и"
python manage.py runcrons --force "для принудительного выполнения заданий, и я не получаю ошибок, но поле не обновляется ни для одной из записей.
cron.py
from django_cron import CronJobBase, Schedule
from django.db.models import F
class DaysOpenCronJob(CronJobBase):
RUN_EVERY_MINS = 1
# RUN_AT_TIMES = ['23:00']
schedule = Schedule(run_at_times=RUN_EVERY_MINS)
code = 'request_form_app.cron.DaysOpenCronJob'
def update_days(self,*args,**kwargs):
data_request = Request.objects.all()
for record in data_request:
record.days_open = F('days_open') + 1
record.save(update_field=['days_open'])