在Django中,可以使用Celery庫來實現定時任務的重復執行。Celery是一個分布式任務隊列,可以讓你在后臺異步執行任務,包括定時任務。
下面是一個簡單的使用Celery實現定時任務的示例:
pip install celery
from celery import Celery
import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project.settings')
app = Celery('your_project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
from celery import shared_task
@shared_task
def my_task():
# 你的任務邏輯
celery -A your_project worker --loglevel=info
from celery.schedules import crontab
app.conf.beat_schedule = {
'my-task': {
'task': 'your_app.tasks.my_task',
'schedule': crontab(hour=0, minute=0), # 每天凌晨執行任務
},
}
以上就是使用Celery庫實現定時任務的簡單示例。通過Celery的定時任務調度器,你可以配置任務的執行時間,讓任務按照設定的時間間隔或時間點重復執行。