如何通过WLST一次启动和停止多个weblogic托管服务器

如何通过WLST一次启动和停止多个weblogic托管服务器,weblogic,wlst,Weblogic,Wlst,我正在编写一段代码,用于在weblogc上启动、停止、取消部署和部署我的应用程序 我的组件需要部署在少数托管服务器上 当我手动执行新部署时,我可以通过勾选多个框并从dop下拉菜单中选择start and stop来并行启动和停止服务器。见下文。 但在WLST上尝试时,我可以一次在一台服务器上完成 例: 是否有一种方法可以在一次命令中启动和停止多个服务器?而不是直接启动和停止服务器,您可以等待它们完成 e、 g tasks=[] 对于cmo.getServerLifeCycleRuntimes(

我正在编写一段代码,用于在weblogc上启动、停止、取消部署和部署我的应用程序

我的组件需要部署在少数托管服务器上

当我手动执行新部署时,我可以通过勾选多个框并从dop下拉菜单中选择start and stop来并行启动和停止服务器。见下文。

但在WLST上尝试时,我可以一次在一台服务器上完成

例:


是否有一种方法可以在一次命令中启动和停止多个服务器?

而不是直接启动和停止服务器,您可以等待它们完成

e、 g

tasks=[]
对于cmo.getServerLifeCycleRuntimes()中的服务器:
#关闭所有服务器
如果(server.getName()!='AdminServer'和server.getState()!='RUNNING'):
tasks.append(server.start())
#或者启动它们:
#如果(server.getName()!='AdminServer'和server.getState()!='SHUTDOWN'):
#tasks.append(server.shutdown())
#等待任务完成
而len(任务)>0:
对于任务中的任务:
if task.getStatus()!='正在进行的任务':
任务。删除(任务)
java.lang.Thread.sleep(5000)

我知道这是一篇老文章,今天我在读Martin Heinzl写的《高级WebLogic服务器自动化》一书,所以在第282页我找到了这篇文章

def startCluster(clustername):
    try:
        start(clustername, 'Cluster')
    except Exception, e:
        print 'Error while starting cluster', e
        dumpStack()
我试过了,它并行启动了托管服务器

请记住,必须首先启动AdminServer,并且脚本必须在尝试之前连接到AdminServer


也许这对您没有用处,因为服务器应该在集群中,但我想与大家分享:)

谢谢@Trent bartlem。我很快就会试试这个。我会接受你的回答。谢谢你的回复。是的,这对集群很有帮助。它对同一集群中的服务器很有用,但如果服务器位于不同的集群中,这将不起作用。
def startCluster(clustername):
    try:
        start(clustername, 'Cluster')
    except Exception, e:
        print 'Error while starting cluster', e
        dumpStack()