django項目中遇到要實現定時任務


django項目中遇到要實現定時任務,所以選用了簡單易用的django-crontab插件。

1、安裝 django-crontab

pip install django-crontab

2、定時要執行的腳本

先寫個簡單的測試腳本。
crontab/crons.py

import datetime def update_stock_status(): start_time = datetime.datetime.now() print(start_time, ", begin update_stock_status cron task...")

3、配置

在項目的配置文件 settings.py 中,加上下列信息:

# add django-crontab app INSTALLED_APPS = [ ... 'django_crontab', ] # cron tasks CRONJOBS = [ ('*/5 * * * *', 'crontab.crons.update_stock_status', '>>' + os.path.join(BASE_DIR, 'logs/crons.log')) ]
""" python3 manage.py crontab add 添加定時任務 python3 manage.py crontab remove 刪除定時任務 python3 manage.py crontab show 查看定時任務 * * * * * command 分鍾(0-59) 小時(0-23) 每個月的哪一天(1-31) 月份(1-12) 周幾(0-6) shell腳本或者命令 0 6 * * * commands >> /tmp/test.log # 每天早上6點執行, 並將信息追加到test.log中 """
  • crontab.crons.update_stock_status :crontab 表示目錄;crons 表示crons.py文件;update_stock_status 表示要執行的函數。
  • ‘>>’ + os.path.join(BASE_DIR, ‘logs/crons.log’):表示把定時任務的日志寫到crons.log 文件中。

4、啟動定時任務

# 其實是把定時任務寫入系統的 crontab 中,在系統中使用 crontab -l 可以看到 python manage.py crontab add
# 刪除定時任務 python manage.py crontab remove
# 查看定時任務 python manage.py crontab show


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM