django-crontab

django-cromtab實現定時任務

參考:https://www.jianshu.com/p/1def9226158d
 '''
 首先安裝插件:pip install django-crontab
 而後在setting的installed app下
 INSTALLED_APPS = (
    ...
    'django_crontab', #注意是_不是-
)
 '''   
3、而後在在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
4、同時在 settings.py 文件中添加 CRONJOBS 配置,內容以下:
CRONJOBS = [
    ('*/1 * * * *', 'cele.cron.test_job', '>>/tmp/test.log')
]

其中:

第一個參數是 cron 表達式,定義定時任務的執行時間。
第二個參數是要執行的模塊和函數。
第三個參數是執行定時腳本時日誌文件的路徑。
5、執行: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分鐘再數據庫中插入一條數據
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息