Django - 如何每天运行一个函数? [英] Django - How to run a function EVERYDAY?
本文介绍了Django - 如何每天运行一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想每天午夜运行这个函数来检查expiry_date_notification.我能做什么?我是 django 和 python 的新手.
I want to run this function everyday midnight to check expiry_date_notification. what can I do? I'm new to django and python.
def check_expiry_date(request):
products = Product.objects.all()
for product in products:
product_id = product.id
expiry_date = product.expiry_date
notification_days = product.notification_days
check_date = int((expiry_date - datetime.datetime.today()).days)
if notification_days <= check_date:
notification = Notification(product_id=product_id)
notification.save()
推荐答案
正如其他人所说,Celery 可以安排任务在特定时间执行.
from celery.schedules import crontab
from celery.task import periodic_task
@periodic_task(run_every=crontab(hour=7, minute=30, day_of_week="mon"))
def every_monday_morning():
print("This is run every Monday morning at 7:30")
通过pip install django-celery
这篇关于Django - 如何每天运行一个函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文