背景已使用docker搭建好了ngrok实现内网穿透,并已配置自有ssl证书可通过https访问由于服务器的80和443端口已被nginx占用,当前ngrok的http和https分别是8081 8082端口,访问时链接需加端口号才行由于微信配置域名时不支持非80或443端口,现有的带端口的域名无法在微信配置解决方法增加nginx配置,转发80端口的http请求和443端口的https请求到ngroknginx配置server { listen 80; server_name *.ngrok.xxx.com ngrok.xxx.com; l...
背景当前项目想在宿主机配置定时任务,定时在docker内运行后台任务。之前的方法为:* * * * * /bin/docker exec app_1 bash -c 'nohup python /app/xxx.py &' >> /home/logs/xxx.log后来发现用此写法,脚本内使用print()有时会报以下错误,导致程序异常终止。BrokenPipeError: [Errno 32] Broken pipe解决方案不用nohup,替换之前的写法为:docker exec -d 容器名 /bin/bash -c "执行脚本命令"即定时任务...
https://www.dusaiphoto.com/article/78/
在docker-compose.yml配置容器日志大小限制nginx: image: nginx:1.12.1 restart: always logging: driver: "json-file" options: max-size: "5g"参考:https://www.cnblogs.com/angel-devil/p/12558908.html
背景django直接使用python manage.py inspectdb反向生成数据库model,默认是只会反向生成数据库表的model,而不会生成数据库视图的model解决方法可通过添加参数 --include-views实现生成时也生成视图的modelpython manage.py inspectdb --include-views > app/models.py参考:https://docs.djangoproject.com/zh-hans/3.2/ref/django-admin/#django-admin-inspectdb
背景# 定时任务 CRONJOBS = [ ('* * * * *', 'app.xxx.xxx.main', '>>/var/log/xxx.log') ]仅仅这样配置,使用print打印到xxx.log的日志不是实时的。解决方法配置加入CRONTAB_COMMAND_PREFIX = 'PYTHONUNBUFFERED=1'# 定时任务 CRONJOBS = [ ('* * * * *', 'app.xxx.xxx.main', '>>/var/log/xxx.log') ] # 设置定时任务print打印不缓存(类似python -u xx...
背景有时候设置django定时任务定时时间为每分钟执行,上一次任务还没执行完下一次任务又会开始。解决方式django配置中加入CRONTAB_LOCK_JOBS = True# setting.py # 定时任务 CRONJOBS = [ ('* * * * *', 'app.xxx.xxx.main', '>>/var/log/xxx.log') ] # 定时任务如果同一作业的旧实例仍在运行,则阻止启动作业 CRONTAB_LOCK_JOBS = True参考:https://github.com/kraiz/django-crontab
https://www.dusaiphoto.com/article/138/