我有一个应用程序,我想在本地调试。为此,我必须首先运行Consul
(这是一个jar
),然后我必须调用两个REST API
方法,所以我调用了两个POST
方法。然后我启动elasticmq-server
并调用8
GET
目前,我已经在一个bat
文件中启动了jar
,但是这使得它对UNIX
没有用处。我尝试了以下方法:
subprocess.call(['java', '-jar', 'elasticmq-server-0.8.12.jar'], shell=True)
但这不是我想要的。我希望jar
在双击后在不同的控制台中启动脚本.py. 有可能吗?下面我附上Minimal Complete Verifiable Example
:
我的代码
import subprocess
import time, sys
import requests
subprocess.call(['java', '-jar', 'elasticmq-server-0.8.12.jar'], shell=True)
#call("my.bat") - it works on Windows, but not on Linux
time.sleep(5) #elastic must complete launch - it usually takes 1024 milsec, so I w8 5 just in case.
requests.get('http://localhost:8888/?Action=CreateQueue&QueueName=top-secret')
requests.get('http://localhost:8888/?Action=CreateQueue&QueueName=top-secret2')
requests.get('http://localhost:8888/?Action=CreateQueue&QueueName=top-secret3')
requests.post('http://127.0.0.1:7777/some/catalogs/register', data = {"JSON WITH DATA FOR CONSUL")
预期行为
subprocess
模块特别支持在带有startupinfo的窗口上处理新窗口的创建。 在*nix和Linux上,您希望实际生成一个新的终端仿真器,以便调用如下内容:x-terminal-emulator -e 'bash -c "sleep 20"'
。。。。但这在Mac上可能不起作用。。。 你需要有效地测试你所使用的操作系统。你知道吗我知道一个事实,您不能在Windows和Linux之间移植所说的
call
方法。你得另寻出路。你知道吗相关问题 更多 >
编程相关推荐