栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django定时任务crontab静态化首页

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django定时任务crontab静态化首页

python编程快速上手(持续更新中…) python实战项目(Django技术点)

在Django执行定时任务,可以通过 django-crontab 扩展来实现

1.安装 django-crontab

pip install django-crontab

2.注册 django-crontab 应用

INSTALLED_APPS = [
‘django_crontab’, # 定时任务
]

3.设置定时任务
定时时间基本格式 :

*  *  *  *  *

分 时 日 月 周    命令

M: 分钟(0-59)。每分钟用 * 或者 */1 表示
H:小时(0-23)。(0表示0点)
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
定时任务分为三部分定义:
任务时间
任务方法
任务日志
CRonJOBS = [
    # 每1分钟生成一次首页静态文件
    ('*/1 * * * *', 'apps.contents.crons.generate_static_index_html', '>> ' + os.path.join(base_DIR, 'logs/crontab.log'))
]
解决 crontab 中文问题
在定时任务中,如果出现非英文字符,会出现字符异常错误
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'
4.管理定时任务

#添加定时任务到系统中
python manage.py crontab add

#显示已激活的定时任务
python manage.py crontab show

#移除定时任务
python manage.py crontab remove

5.异常

Python的Windows兼容问题——ModuleNotFoundError: No module named ‘fcntl’

原因
这个错误是因为Python缺少对应的fcntl模块,这个模块是Python自带的,但Windows好像没有。论坛上各种下载,其实代码很简单,直接手捏一个就行。

解决方案
新建fncl.py文件(用记事本也行),输入以下代码并保存至Python安装目录的Lib目录下

(如C:PythonPython36Lib)

def fcntl(fd, op, arg=0):
    return 0
 
def ioctl(fd, op, arg=0, mutable_flag=True):
    if mutable_flag:
        return 0
    else:
        return ""
 
def flock(fd, op):
    return
 
def lockf(fd, operation, length=0, start=0, whence=0):
    return
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/355498.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号