26.11.3 実行環境の取得および検査
実行環境はセッションにバインドされています。セッションの実行環境を取得するには、PgxSession
でgetExecutionEnvironment()
をコールします。
opg4j> execEnv.getValues()
==> [analysis-pool.max_num_threads=4, analysis-pool.weight=4, analysis-pool.priority=MEDIUM, io-pool.num_threads_per_task=4, fast-track-analysis-pool.max_num_threads=4, fast-track-analysis-pool.weight=1, fast-track-analysis-pool.priority=HIGH]
import oracle.pgx.api.*;
import java.util.List;
import java.util.Map.Entry;
List<Entry<String, Object>> currentValues = execEnv.getValues();
for (Entry<String, Object> value : currentValues) {
System.out.println(value.getKey() + " = " + value.getValue());
}
未変更の実行環境の値は、エンタープライズ・スケジューラ構成ガイドを参照してください。
サブ環境を取得するには、getIoEnvironment()
、getAnalysisEnvironment()
およびgetFastAnalysisEnvironment()
メソッドを使用します。それぞれのサブ環境には、サブ環境の構成を取得するための独自のgetValues()
メソッドがあります。
opg4j> var ioEnv = execEnv.getIoEnvironment()
ioEnv ==> IoEnvironment[pool=io-pool]
opg4j> ioEnv.getValues()
$5 ==> {num_threads_per_task=4}
opg4j> var analysisEnv = execEnv.getAnalysisEnvironment()
analysisEnv ==> CpuEnvironment[pool=analysis-pool]
opg4j> analysisEnv.getValues()
$7 ==> {max_num_threads=4, weight=4, priority=MEDIUM}
opg4j> var fastAnalysisEnv = execEnv.getFastAnalysisEnvironment()
fastAnalysisEnv ==> CpuEnvironment[pool=fast-track-analysis-pool]
opg4j> fastAnalysisEnv.getValues()
$9 ==> {max_num_threads=4, weight=1, priority=HIGH}
import oracle.pgx.api.*;
import oracle.pgx.api.executionenvironment.*;
import java.util.Map;
IoEnvironment ioEnv = execEnv.getIoEnvironment();
CpuEnvironment analysisEnv = execEnv.getAnalysisEnvironment();
CpuEnvironment fastAnalysisEnv = execEnv.getFastAnalysisEnvironment();
for (Entry<String, Object> value : ioEnv.getValues().getEntrySet()) {
System.out.println(value.getKey() + " = " + value.getValue());
}
for (Entry<String, Object> value : analysisEnv.getValues().getEntrySet()) {
System.out.println(value.getKey() + " = " + value.getValue());
}
for (Entry<String, Object> value : fastAnalysisEnv.getValues().getEntrySet()) {
System.out.println(value.getKey() + " = " + value.getValue());
}
親トピック: 実行環境を使用した高度なタスク・スケジューリング