V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
lbxx
V2EX  ›  Python

这种场景下用怎么做比较好呢?

  •  1
     
  •   lbxx · 28 天前 · 891 次点击

    有一个固定的 python 程序已经开发好,需要为用户运行很多这个程序(每个用户可能运行 1 到多个此程序),只是启动参数不同罢了。

    这种情况下,如何管理这些程序呢?试了一下用 docker ,为每个用户启动一个或多个 docker 容器,但是发现占用资源还挺大,有没有什么方法或者技术框架比较好解决的呢?望各位大佬不吝赐教

    10 条回复    2024-07-02 10:00:54 +08:00
    coderluan
        1
    coderluan  
       28 天前
    就用最普通的 virtual env 不行吗,一个用户建一个
    lbxx
        2
    lbxx  
    OP
       28 天前
    @coderluan 貌似都可以不用 virtual env ,直接同个环境运行,就是这样多个进程管理不知道有什么比较方便的框架没
    tomczhen
        3
    tomczhen  
       28 天前
    Windows 下可以将 workdir 设置到 appdata 中,配置走 user profile ,这样可以在用户级别隔离。
    dicc
        4
    dicc  
       28 天前
    参数里面加一个 输出文件
    ClericPy
        5
    ClericPy  
       28 天前
    场景像 Serverless ,但是你问出来了感觉不一定想用,虽然这是运维和架构上最省心的,有时候也是最省钱的

    开一堆 worker 走消息队列,异步路线; RPC (或者普通 HTTP )同步路线

    需要隔离吗?线索也太少了
    xtyuns
        6
    xtyuns  
       28 天前
    可以试试用 PM2 来管理
    lbxx
        7
    lbxx  
    OP
       25 天前
    @ClericPy 感谢指教。severless 的方式感觉不是特别适合,因为每个任务都是长期运行的,不是短期任务。有想过用 celery 的形式不过还没试。不需要隔离的,只要运行起来就没问题
    lbxx
        8
    lbxx  
    OP
       25 天前
    @xtyuns 谢谢,我试试看
    lbxx
        9
    lbxx  
    OP
       25 天前
    @tomczhen 好像不需要隔离,只要管理好就行了,怎么管理方便就好
    1543544726zy
        10
    1543544726zy  
       15 天前
    python main.py --config config1.yaml
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3388 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:44 · PVG 08:44 · LAX 17:44 · JFK 20:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.