python - 如何一次运行多个环境
问题描述
我得到了两个不同环境的配置文件,它们共享相同的源文件source.py
,源代码长约七百行。我曾经分别运行它们,我的意思python source.py
是 applyconfig_1.ini
和python source.py
to 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的存在。
或者除了多处理之外还有其他方法可以实现吗?
解决方案
让脚本使用要使用的 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
等等)
推荐阅读
- angularjs - 如何在java中获取列表的大小?
- excel - IF 语句中出现明显的 Excel 计算错误
- spring - 向 mongo 聚合的结果添加新字段
- javascript - 未捕获的类型错误:无法在“节点”上执行“appendChild”:参数 1 不是“节点”类型。JAVASCRIPT
- gatling - 如何检查加特林会话中是否存在变量?
- ruby-on-rails - Ruby 中 GraphQL 类型的字段定义中感叹号的目的是什么?
- windows - 使用 docker 独立于 Windows 更新
- c# - 向下转换对象不会改变对象本身?
- javascript - 带 rangeChart 的 elasticY(true) 不适应新范围
- scala - AssertionError javax.jms.JMSException on maven build for scala project