在Django执行定时任务,可以通过 django-crontab 扩展来实现
1.安装 django-crontab2.注册 django-crontab 应用pip install django-crontab
3.设置定时任务INSTALLED_APPS = [
‘django_crontab’, # 定时任务
]
定时时间基本格式 : * * * * * 分 时 日 月 周 命令 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
5.异常#移除定时任务
python manage.py crontab remove
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)