以滚动重启方式重新启动所有群集的所有托管实例。希望不同的集群同时重启
有没有办法使用Jython的线程模块同时执行多个WLST操作?
在一个脚本中,我有集群和服务器实例的类。集群具有服务器实例列表。群集对象上有一种方法可以遍历其服务器列表,并在群集运行正常时逐个重新启动它们。我试过将这个方法传递给一个这样的线程:
Thread(target=lambda: cluster.managedRestart()).start()
但我收到错误
TypeError: can't set arbitrary attribute in java instance: target
将托管重启代码分解为单独的文件,并使用execfile()
从线程中调用它
答案 0 :(得分:4)
我认为不会明确使用线程来并行启动托管服务器。以下代码将并行启动所有集群。 block='false'
将not block启动命令的控件,这意味着将发出启动命令,并立即执行启动另一个群集的下一个命令。因此,所有集群都可以并行启动。同样适用于shutdown
command。
connect(username='weblogic', password='weblogic1', url='t3://localhost:7001')
clusterList = ls('/Clusters', returnMap='true')
for cluster in clusterList :
start(cluster, 'Cluster', block='false')