4

環境

  • ウェブロジック 10
  • サン・ジャワ
  • HPUX

ゴール

ローリング再起動方式で、すべてのクラスターを使用してすべてのマネージド インスタンスを再起動します。異なるクラスタを同時に再起動したい

質問

Jython のスレッド化モジュールを使用して複数の WLST アクションを同時に実行する方法はありますか?

試みられたアプローチ

1 つのスクリプトに、クラスターとサーバー インスタンスの両方のクラスがあります。クラスタには、サーバー インスタンスのリストがあります。クラスター オブジェクトには、サーバーのリストをループして、クラスターが正常な場合にサーバーを 1 つずつ再起動するメソッドがあります。このメソッドを次のようにスレッドに渡そうとしました:

Thread(target=lambda: cluster.managedRestart()).start()

しかし、私はエラーを受け取ります TypeError: can't set arbitrary attribute in java instance: target

アイデア

管理された再起動コードを別のファイルに分割しexecfile()、スレッド内から呼び出すために使用します

他の誰かにアイデア/提案/経験がありますか?

4

1 に答える 1

4

管理対象サーバーを並行して起動するためにスレッドを明示的に使用する必要はないと思います。次のコードは、すべてのクラスターを並行して開始します。開始コマンドで制御をブロックしませんblock='false'。つまり、開始コマンドが発行され、すぐに別のクラスターを開始する次のコマンドが実行されます。したがって、すべてのクラスターを並行して開始できます。コマンドも同様ですshutdown

connect(username='weblogic', password='weblogic1', url='t3://localhost:7001')
clusterList = ls('/Clusters', returnMap='true')
for cluster in clusterList :
    start(cluster, 'Cluster', block='false')
于 2012-10-20T03:59:51.950 に答える