西安 9 年 Python 后端开发,求职
技术栈,python,django,flask,tornado openstack, 爬虫,数据库,odoo 。
大多数时间做 python 后端开发,也开发过 rn ,react 等小的前端项目。
预期收入: 15k-20k (工资可商量). 城市西安,或远程。
特点:热爱编程,求一份编程工作,继续编程事业。
学历:大学退学了(软件工程)
联系方式(备注工作): hiczlf
有过多段创业,组建团队经历,技术销售类(售前)工作也感兴趣。求介绍。
#编程 #python #工作 #django #flask #tornado #openstack #odoo #rn #react
技术栈,python,django,flask,tornado openstack, 爬虫,数据库,odoo 。
大多数时间做 python 后端开发,也开发过 rn ,react 等小的前端项目。
预期收入: 15k-20k (工资可商量). 城市西安,或远程。
特点:热爱编程,求一份编程工作,继续编程事业。
学历:大学退学了(软件工程)
联系方式(备注工作): hiczlf
有过多段创业,组建团队经历,技术销售类(售前)工作也感兴趣。求介绍。
#编程 #python #工作 #django #flask #tornado #openstack #odoo #rn #react
请教下各位 Gunicorn 启动时 Python 进程池
大佬们问下 Python 多进程的问题
# 功能概述
发送一个请求 /task/create 开启了一个长耗时计算密集型任务。在这个任务运行的过程中,可以发送另一个请求 /task/close 来关闭这个任务。
# 需求
1. 需要可以主动关闭这个任务
2. 优化长耗时任务
# 目前的状况
用 flask 建立了一个项目,通过 Gunicorn + Gevent 在 centos7 上部署了服务(尚未通过 Nginx 走代理)。
# 问题
为了解决以上两个需求,我想通过多进程来实现,但是没有具体的实现方式。
1. 需要有一个能实现的最简示例。
2. 如果通过 Nginx 代理,Gunicorn 的 -w 参数还需要设置 cpu *2 +1 的数量吗
# 其他补充
用 Gunicorn 启动服务后,在 flask 的 路由函数里面开启了多进程(通过 ProcessPoolExecutor),控制台会提示有些进程被忽略掉,而且有些进程没有运行,好像有些进程也被阻塞了。
然后看到 multiprocessing.Pool 可以直接 terminate 终止进程池,但是有个限制
> 注意 start() 、join() 、is_alive() 、terminate() 和 exitcode 方法只能由创建进程对象的进程调用。
#进程 #Gunicorn #任务 #task #flask #Nginx #terminate #通过 #耗时 #发送
大佬们问下 Python 多进程的问题
# 功能概述
发送一个请求 /task/create 开启了一个长耗时计算密集型任务。在这个任务运行的过程中,可以发送另一个请求 /task/close 来关闭这个任务。
# 需求
1. 需要可以主动关闭这个任务
2. 优化长耗时任务
# 目前的状况
用 flask 建立了一个项目,通过 Gunicorn + Gevent 在 centos7 上部署了服务(尚未通过 Nginx 走代理)。
# 问题
为了解决以上两个需求,我想通过多进程来实现,但是没有具体的实现方式。
1. 需要有一个能实现的最简示例。
2. 如果通过 Nginx 代理,Gunicorn 的 -w 参数还需要设置 cpu *2 +1 的数量吗
# 其他补充
用 Gunicorn 启动服务后,在 flask 的 路由函数里面开启了多进程(通过 ProcessPoolExecutor),控制台会提示有些进程被忽略掉,而且有些进程没有运行,好像有些进程也被阻塞了。
然后看到 multiprocessing.Pool 可以直接 terminate 终止进程池,但是有个限制
> 注意 start() 、join() 、is_alive() 、terminate() 和 exitcode 方法只能由创建进程对象的进程调用。
#进程 #Gunicorn #任务 #task #flask #Nginx #terminate #通过 #耗时 #发送
终端监控脚本上传信息,后台有必要做 token 等验证么
如题,有一些内网使用的自助终端(普通人进不了电脑桌面那种),作为运维人员,为了监控终端程序是否正常运行,打印机状态是否正常等,用 powershell 写了个脚本来上传状态信息以及上传前的界面截图。后台是自己用 flask 简单写的,都是接口,没有前端页面。
在这种情况下,flask 后台应对路由进行验证么?比如加 token 或者用户名密码之类的。我一直好奇,如果是纯接口,黑客能用工具扫描到对应路由和参数的吗?如果可以,大概原理是怎么样的呢?
#flask #路由 #上传 #接口 #后台 #终端 #电脑桌面 #运维 #powershell #token
如题,有一些内网使用的自助终端(普通人进不了电脑桌面那种),作为运维人员,为了监控终端程序是否正常运行,打印机状态是否正常等,用 powershell 写了个脚本来上传状态信息以及上传前的界面截图。后台是自己用 flask 简单写的,都是接口,没有前端页面。
在这种情况下,flask 后台应对路由进行验证么?比如加 token 或者用户名密码之类的。我一直好奇,如果是纯接口,黑客能用工具扫描到对应路由和参数的吗?如果可以,大概原理是怎么样的呢?
#flask #路由 #上传 #接口 #后台 #终端 #电脑桌面 #运维 #powershell #token
想搭建个人博客,请大家帮忙出出主意
之前有使用 Hexo+GitPages 搭建过个人技术博客,现在想搭建一个包含个人隐私的用于记录生活的博客,Hexo 加密插件貌似只能针对单篇博客加密,而我期望的是有个简单的类似登录界面的东西,甚者用户名都可以不要,输入密码之后就可以正常访问所有博客内容。
我现在能够想到的方案是,博客内容还是用 Hexo 生成,只是在前面用 Flask 做一个登录页面,登录之后路由到 Hexo 生成的页面,Flask 和页面部署到云服务器上。
不知道这么做是不是太笨重了,请问大家有什么好的解决方案吗,求指点,谢谢。
#Hexo #博客 #页面 #登录 #Flask #加密 #搭建 #生成 #插件 #GitPages
之前有使用 Hexo+GitPages 搭建过个人技术博客,现在想搭建一个包含个人隐私的用于记录生活的博客,Hexo 加密插件貌似只能针对单篇博客加密,而我期望的是有个简单的类似登录界面的东西,甚者用户名都可以不要,输入密码之后就可以正常访问所有博客内容。
我现在能够想到的方案是,博客内容还是用 Hexo 生成,只是在前面用 Flask 做一个登录页面,登录之后路由到 Hexo 生成的页面,Flask 和页面部署到云服务器上。
不知道这么做是不是太笨重了,请问大家有什么好的解决方案吗,求指点,谢谢。
#Hexo #博客 #页面 #登录 #Flask #加密 #搭建 #生成 #插件 #GitPages
后端日志突然卡住 4 分钟,然后恢复正常,这种问题应该怎么排查?
使用 Flask 开发的一个网站。用户前端请求了一个接口,2 分钟没有反应,导致网关超时被阻断了。
后面看日志排查问题,发现 10:34 开始,到 10:38 分这段时间,后端没有任何日志打出。10:34 最后一条日志和 10:38 第一条日志之间只有 8 行纯 Python 代码,没有任何 IO 操作或者 CPU 密集型操作。就是一些简单的变量值判断和赋值。
Flask 是使用 k8s 部署的。由于日志是连续的,只是卡了 4 分钟,因此不是节点重启。pod 的系统日志正常且连续,说明操作系统应该没有卡住。外部有一个程序每 5 秒请求一次 /health 接口,如果连续 3 次没有响应,就会重启 pod 。现在 pod 没有重启,因此说明 /health 接口应该是正常的。
求问这种情况下,我应该怎么排查到底是什么原因导致 Flask 卡了 4 分钟?
#日志 #10 #Flask #pod #接口 #重启 #34 #38 #health #分钟
使用 Flask 开发的一个网站。用户前端请求了一个接口,2 分钟没有反应,导致网关超时被阻断了。
后面看日志排查问题,发现 10:34 开始,到 10:38 分这段时间,后端没有任何日志打出。10:34 最后一条日志和 10:38 第一条日志之间只有 8 行纯 Python 代码,没有任何 IO 操作或者 CPU 密集型操作。就是一些简单的变量值判断和赋值。
Flask 是使用 k8s 部署的。由于日志是连续的,只是卡了 4 分钟,因此不是节点重启。pod 的系统日志正常且连续,说明操作系统应该没有卡住。外部有一个程序每 5 秒请求一次 /health 接口,如果连续 3 次没有响应,就会重启 pod 。现在 pod 没有重启,因此说明 /health 接口应该是正常的。
求问这种情况下,我应该怎么排查到底是什么原因导致 Flask 卡了 4 分钟?
#日志 #10 #Flask #pod #接口 #重启 #34 #38 #health #分钟
n 个并发进程(接口)共用一个公共变量 Q,当 Q 变量需要更新的时候,如何实现进程互斥?
各位大佬,我用 flask 写 server 服务,有一个场景不知道怎么处理
1.有一个 API ,里面需要用到一个变量 Q ,变量 Q 有效期 24 小时,且变量 Q 有使用次数限制( 10 次)。
2.当第一个用户调用的时候如果没有变量 Q ,则生成变量 Q 。
3.如何在多人请求的时候只生成一个变量 Q ?
4.如果在多人请求的时候更新变量 Q ?
5.如何避免多人请求的时候污染变量 Q ?
6.如果中途变量 Q 失效,要怎么处理呢?
#变量 #请求 #时候 #生成 #我用 #flask #server #API #24 #10
各位大佬,我用 flask 写 server 服务,有一个场景不知道怎么处理
1.有一个 API ,里面需要用到一个变量 Q ,变量 Q 有效期 24 小时,且变量 Q 有使用次数限制( 10 次)。
2.当第一个用户调用的时候如果没有变量 Q ,则生成变量 Q 。
3.如何在多人请求的时候只生成一个变量 Q ?
4.如果在多人请求的时候更新变量 Q ?
5.如何避免多人请求的时候污染变量 Q ?
6.如果中途变量 Q 失效,要怎么处理呢?
#变量 #请求 #时候 #生成 #我用 #flask #server #API #24 #10
flask + nginx + uwsgi +docker-compose
docker-compose.yml:
version: "3.3"
services:
flask_app:
build: ./flask_app
container_name: flask_app
restart: always
environment:
- APP_NAME=MyFlaskApp
expose:
- 8080
nginx:
build: ./nginx
container_name: nginx
restart: always
ports:
- "80:80"
nginx.conf
server {
listen 80;
charset UTF-8;
client_max_body_size 30M;
location / {
include uwsgi_params;
uwsgi_pass flask:8080;
}
}
uwsgi.ini
[uwsgi]
wsgi-file = app.py
callable = app
socket = :8080
processes = 4
threads = 2
master = true
chmod-socket = 660
vacuum = true
die-on-term = true
buffer-size = 65535
limit-post = 104857600
logto = /flask_app/app.log
Dockerfile
FROM python:3.6
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
CMD ["uwsgi", "uwsgi.ini"]
以上分别是我 docker-compose, nginx, uwsgi 以及 dockerfile 的配置,但是启动话只有 nginx 启动了,另外一个一直在重启的状态,求解
#app #uwsgi #nginx #flask #8080 #80 #true #docker #compose #build
docker-compose.yml:
version: "3.3"
services:
flask_app:
build: ./flask_app
container_name: flask_app
restart: always
environment:
- APP_NAME=MyFlaskApp
expose:
- 8080
nginx:
build: ./nginx
container_name: nginx
restart: always
ports:
- "80:80"
nginx.conf
server {
listen 80;
charset UTF-8;
client_max_body_size 30M;
location / {
include uwsgi_params;
uwsgi_pass flask:8080;
}
}
uwsgi.ini
[uwsgi]
wsgi-file = app.py
callable = app
socket = :8080
processes = 4
threads = 2
master = true
chmod-socket = 660
vacuum = true
die-on-term = true
buffer-size = 65535
limit-post = 104857600
logto = /flask_app/app.log
Dockerfile
FROM python:3.6
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
CMD ["uwsgi", "uwsgi.ini"]
以上分别是我 docker-compose, nginx, uwsgi 以及 dockerfile 的配置,但是启动话只有 nginx 启动了,另外一个一直在重启的状态,求解
#app #uwsgi #nginx #flask #8080 #80 #true #docker #compose #build
各位大佬,请问通过 uwsgi 如何获取 Python 应用的报错日志
各位大佬,请问通过 uwsgi 如何获取 python 应用的报错日志
1 、通过 uwsgi.ini 文件配置 uwsgi 并正常体启动(为了避免干扰直接使用 root 账户启动);
2 、在 uwsgi.ini 中,使用 daemonize=/var/log/uwsgi/my_flask_app.log ,使 uwsgi 作为守护进程,uwsgi 运行后日志就会写入到 /var/log/uwsgi/my_flask_app.log 文件中;
3 、查看 /var/log/uwsgi/my_flask_app.log 文件正常记录 uwsgi 这个中间件的日志;
4 、问题是,无法查看 python 程序的报错信息;
5 、通过 Google 查到的解决方案是:
在 uwsgi.ini 文件中追加:log-master = true ,重启 uwsgi 和重启服务器之后都无法实现记录 python 应用报错日志(控制台也没显示报错日志),请问有什么办法能解决这个问题吗?非常感谢。
#uwsgi #log #日志 #报错 #python #ini #var #my #flask #app
各位大佬,请问通过 uwsgi 如何获取 python 应用的报错日志
1 、通过 uwsgi.ini 文件配置 uwsgi 并正常体启动(为了避免干扰直接使用 root 账户启动);
2 、在 uwsgi.ini 中,使用 daemonize=/var/log/uwsgi/my_flask_app.log ,使 uwsgi 作为守护进程,uwsgi 运行后日志就会写入到 /var/log/uwsgi/my_flask_app.log 文件中;
3 、查看 /var/log/uwsgi/my_flask_app.log 文件正常记录 uwsgi 这个中间件的日志;
4 、问题是,无法查看 python 程序的报错信息;
5 、通过 Google 查到的解决方案是:
在 uwsgi.ini 文件中追加:log-master = true ,重启 uwsgi 和重启服务器之后都无法实现记录 python 应用报错日志(控制台也没显示报错日志),请问有什么办法能解决这个问题吗?非常感谢。
#uwsgi #log #日志 #报错 #python #ini #var #my #flask #app
求推荐网页版数据库可视化查看器
我做了个课程网站,用的是 postgresql + flask 一把梭。没有在服务器上运行管理员后台,每次想要查看有多少新用户注册,就 ssh 登陆上去用`psql` 查看,如果在电脑端就用 TablePlus 查看。现在想搞个网页版的,随时随地只要有浏览器就可以查看。请问下大老们,是否有这样的软件推荐呢?谷歌搜索一番,倒是找到一些,但是没有听说过,不知道是否安全。另外,这种方式是否有什么隐患呢?
#查看 #是否 #用户注册 #postgresql #flask #ssh #psql #TablePlus #下大 #老们
我做了个课程网站,用的是 postgresql + flask 一把梭。没有在服务器上运行管理员后台,每次想要查看有多少新用户注册,就 ssh 登陆上去用`psql` 查看,如果在电脑端就用 TablePlus 查看。现在想搞个网页版的,随时随地只要有浏览器就可以查看。请问下大老们,是否有这样的软件推荐呢?谷歌搜索一番,倒是找到一些,但是没有听说过,不知道是否安全。另外,这种方式是否有什么隐患呢?
#查看 #是否 #用户注册 #postgresql #flask #ssh #psql #TablePlus #下大 #老们