Python 新手的疑惑

2023-07-31 14:27:06 +08:00
 Yzzm

之前写过 java ,最近在学习 python ,随便写了项目使用 FastAPI

uvicorn main:app --reload --port=8100

使用这个命令启动服务没问题,如果我说想启动 2 个节点,我发现似乎可以在原有的项目中再执行一次也可以启动服务

uvicorn main:app --reload --port=8101

现在就有两个服务了吗?还是说需要像 java 一样打包两个 jar ,分别执行

1165 次点击
所在节点    Python
9 条回复
ModiKa2022
2023-07-31 14:28:50 +08:00
一个服务对应一个端口, 正常的啊
zen1
2023-07-31 14:40:52 +08:00
两个。可以看下操作系统相关知识,进程、端口号。
centralpark
2023-07-31 14:46:06 +08:00
这个不是 Python 的问题,如楼上所说,你需要补充操作系统知识
adoal
2023-07-31 14:49:38 +08:00
这样做是可以的。但是如果程序要在当前路径里写文件,并且文件名是固定的,不依赖程号或者端口号之类运行时状态,那么你的两个服务可能会出现写入冲突而出错。

据我粗浅了解,Java 也可以同一路径下同一 jar 启动多个实例吧。
Yzzm
2023-07-31 14:50:49 +08:00
@zen1 感谢,我不是科班出生的,对这些不是很了解,回头看看这些知识
Yzzm
2023-07-31 14:54:09 +08:00
@centralpark 早几年培训出来的根本没了解过这些,总是感觉缺了一块知识
Yzzm
2023-07-31 14:56:25 +08:00
@adoal java 也是可以的,这个看起和语言没啥关系了,只和操作系统有关,像楼上两位说的一样,需要补一下知识
l4ever
2023-07-31 16:46:45 +08:00
你 java 也不用分两个包啊, 只要支持命令行参数传递端口配置过去.
Trim21
2023-07-31 16:48:58 +08:00
#8 说出了我的疑惑,Java 也不用打包两个 jar 啊…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/961198

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX