Python 用什么技术做后端服务比较好?
现在想在机器上写一个脚本,要求脚本能 24h 稳定运行,如果 crash 能自动重启。
如果单纯是写个阻塞程序待在那里肯定是不行的,服务可能会挂掉。
或者用 supervisor ?
各路大神有木有推荐的做法,怎么比较轻量,怎么稳定
Python 用什么技术做后端服务比较好?
嗯 or docker restart:always
Flask或Django,看需求选。
简单说,选型就看你项目多大、多急。
Django 适合正经项目。它是个“全家桶”,自带Admin后台、ORM、用户认证、模板,啥都有。你按它的规矩来,能省很多造轮子的时间。文档全、社区大,出问题好解决。但东西多就重,不够灵活。
Flask 适合轻量、灵活的活儿。它是个“微框架”,核心就俩文件,路由、模板这些都得靠扩展。好处是你想怎么搭就怎么搭,数据库选SQLAlchemy还是Peewee随你便。适合API服务、小工具,或者你就是想自己掌控一切。
FastAPI 是现在的新宠,做API服务特快。它用Python的“类型提示”自动生成交互文档,性能也好。如果你主要做前后端分离的API,用这个很爽。
总结:要快、全、省事上Django;要轻、灵、自己掌控上Flask;纯API服务可以试试FastAPI。
提供一个思路,之前我在刷 12306 票的时候,用的是 celery beat 任务 + supervisor 监控,没挂过。不知道是不是符合你需求
uwsgi 一把梭。
supervisor
嗯 还有一种就是 docker 了
docker 可能未知原因的死掉,supervisor 也可能“假死”。还是看你的具体场景。既然是“脚本”是否是需要实时在线?是否可以定期执行?什么指标才是它真正存活的标志?它运行的介质是否随他本身的运行而变化,这个变化是否影响到它本身,等等等信息
systemctl?
cron 里挂个定时脚本,检测程序是否有在运行(比如之前保存在 /run 的 pid 或 ps 里的 command),运行是否正常(日志有输出,信号),然后退出。一旦异常则正常启动程序,并保存 pid 等相关信息。
supervisor 守护进程就可以的~
如果要守护进程,linux 自带 systemd 不用,用啥第三方的工具,
supervisor 的进程还是靠 systemd 来守护。。。
uwsgi + docker(跑。
systemd 系统级守护

