我有一個應用程序,我想本地調試。爲此,我必須先運行Consul
(這是一個jar
),然後我必須調用兩個兩個REST API
方法,所以我打電話給兩個POST
s。然後我啓動elasticmq-server
並致電8
GET
s。Python腳本啓動和配置幾個程序
目前我已在bat
文件中啓動jar
s文件,但它使其對UNIX
文件無效。我試過如下:
subprocess.call(['java', '-jar', 'elasticmq-server-0.8.12.jar'], shell=True)
但我想這是行不通的。雙擊script.py後,我希望jar
可以在單獨的控制檯中啓動。可能嗎?下面我附上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")
預期的行爲
- 啓動腳本雙擊。
- 啓動領事在新的控制檯,在新控制檯
- 啓動彈性,
- 等待2-5秒 - 它已經工作。
- 呼叫請求 - 它已經工作。