django-crontab


django-cromtab實現定時任務

參考:https://www.jianshu.com/p/1def9226158d
 '''
 首先安裝插件:pip install django-crontab
 然后在setting的installed app下
 INSTALLED_APPS = (
    ...
    'django_crontab', #注意是_不是-
)
 '''   
三、然后在在test APP下新建cron.py:
    #
    def test_job():
    # cursor = connection(db='default')
    # sql = """"""
    # test = Test('哈哈')
    with open('a.txt', 'w') as f:
        f.write('Hello, world!')

    print(6666)
    return 1
四、同時在 settings.py 文件中添加 CRONJOBS 配置,內容如下:
CRONJOBS = [
    ('*/1 * * * *', 'cele.cron.test_job', '>>/tmp/test.log')
]

其中:

第一個參數是 cron 表達式,定義定時任務的執行時間。
第二個參數是要執行的模塊和函數。
第三個參數是執行定時腳本時日志文件的路徑。
五、執行:python manage.py crontab add 
然后每隔1分鍾就能在/tmp/test.log中看到一行666的記錄,生成的a.txt文件在~下

django-crontab結合django:
#!/usr/bin/env python
# encoding: utf-8
"""
@version: ??
@author: 
@software: PyCharm
@file: cron.py
@time: 2018/6/14 10:06
"""
# from django.db import connection
# from cele.models import Test
import os
import django
from django.conf import settings

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'test_django.settings')
django.setup()
from cele.models import Test
def test_job():
    # cursor = connection(db='default')
    # sql = """"""
    test = Test(name='哈哈')
    test.save()
    with open('a.txt', 'w') as f:
        f.write('Hello, world!')

    print(6666)
    return 1

test_job()
CRONJOBS = [
    # ('48 10 * * *', 'cele.cron.py.test_job'),
    # ('*/1 * * * *', 'cele.cron.test_job', '>>/tmp/test.log')
]
每隔1分鍾再數據庫中插入一條數據


免責聲明!

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



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