首页 > 解决方案 > 如何一次运行多个环境

问题描述

我得到了两个不同环境的配置文件,它们共享相同的源文件source.py,源代码长约七百行。我曾经分别运行它们,我的意思python source.py是 applyconfig_1.inipython source.pyto apply config_2.ini

现在我想在一个进程中运行它们,我想在这种情况下应用多处理,因为这两个环境是隔离的。但我不知道如何实施。任何建议将不胜感激。

config_1.ini

[Log]
Name = xxx_xxx_xxx
Path = /usr/local/xx/logs/
Level = INFO
When = midnight
Interval = 1
Max Counter = 0
Format = '%(asctime)s - %(levelname)s - %(filename)s:%(lineno)s - %(funcName)s - %(message)s'
[Concurrency]
Max Workers = 16
Consume Number = 1
[Message Queue]
Host = xx.xxx.xxx.xx
Port = 2242
Virtual Host = /
Username = Osk
Password = 112342
Durable = True
Delivery Mode = 2
Paper Request Queue = xxRequest
Paper Response Queue = xxResponse
Info Request Queue = YYRequest
Info Response Queue = YYResponse
[Download]
Path = /usr/local/xx/images/
Retry Times = 3
Timeout = 5
[Upload]
Token URL = http://abcs.com/upload/token/
[Redis]
Host = xx.xxx.xxx.xx
Port = 6232
Password = 123456
Database = 4
Timeout = 172800

我想过循环读取2个配置文件,但我猜想一个会影响另一个,因为MessageQueue的存在。

或者除了多处理之外还有其他方法可以实现吗?

标签: pythonmultiprocessing

解决方案


让脚本使用要使用的 ini 文件的名称sys.argv[1]

然后在命令行上,您可以简单地执行以下操作:

python source.py config_1.ini &
python source.py config_2.ini &

(这&是如何在 UNIX shell 中将进程与终端分离。使用 ms-windows cmd.exe,您必须使用start python source.py config_1.ini等等)


推荐阅读