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


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

1、安裝 django-crontab

pip install django-crontab

2、定時要執行的腳本

先寫個簡單的測試腳本。
ipoms/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 * * * *', 'ipoms.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中 """
 
        
 
  • ipoms.crons.update_stock_status :ipoms 表示目錄;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