FMEリファレンス > スタートアップ/シャットダウンスクリプト
最終更新: 2015-09-02

このページの掲載内容は Python / Tcl についての基礎知識を前提としています。

スタートアップ/シャットダウンスクリプト (Startup/Shutdown Scripts)

Navigator ウィンドウ Workspace Parameters / Advanced セクションでは、次に掲げるパラメーターの値として、変換開始前、あるいは変換終了後に実行する処理を Python または Tcl スクリプトで定義することができます。

スタートアップスクリプト (Startup Python/Tcl Script) は、ログファイルが開かれた後、変換が始まる前 (リーダーがある場合はリーダーがデータ読込を始める前) に実行されます。

シャットダウンスクリプト (Shutdown Python/Tcl Script) は、変換が終了してログファイルが閉じられた後に、変換の成功、失敗に関わりなく実行されます。

スタートアップ/シャットダウンスクリプトの使用例として、次のようなものがあります。

スクリプトでは次の表に掲げるグローバル変数が使用できます。

変数名内容
Startup Python Script
fme.logFileName ログファイルパス
注: スタートアップスクリプト実行時にはすでにログファイルが開いているので、ログファイルにメッセージを出力したいときは fmeobjects.FMELogFile クラスのインスタンスを使用してください。
fme.macroValues マッピングファイルで定義されたマクロ名をキー、マクロの値を値とする写像
fme.mappingFileId マッピングファイルで定義された MAPPING_FILE_ID ディレクティブの値
fme.licensing FMEのエディションとライセンスのタイプに関する情報
Shutdown Python Script
fme.cpuTime スタートアップが実行される直前からシャットダウンが実行される直前までの合計CPUタイム (秒)
fme.cpuUserTime スタートアップが実行される直前からシャットダウンが実行される直前までのユーザーCPUタイム (秒)
fme.cpuSysTime スタートアップが実行される直前からシャットダウンが実行される直前までのシステムCPUタイム (秒)
fme.elapsedRunTime スタートアップが実行される直前からシャットダウンが実行される直前までの実際の経過時間 (秒)
fme.failureMessage 変換が失敗した場合はメッセージ、成功した場合はブランク
fme.featuresRead フィーチャータイプ名をキー、読み込まれたフィーチャー数を値とする写像
fme.featuresWritten フィーチャータイプ名をキー、書き出されたフィーチャー数を値とする写像
fme.licensing FMEのエディションとライセンスのタイプに関する情報
fme.logFileName ログファイルパス
注: シャットダウンスクリプト実行前にログファイルは閉じらるので、fmeobjects.FMELogFile クラスのインスタンスを使用してログファイルにメッセージを出力することはできません。ログファイルにメッセージを出力したいときは、ログファイルを追加モードで開いてください。
fme.macroValues マッピングファイルで定義されたマクロ名をキー、マクロの値を値とする写像
fme.mappingFileId マッピングファイルで定義された MAPPING_FILE_ID ディレクティブの値
fme.memoryUsage 変換終了時のメモリ使用量合計 (KB)
fme.numFeaturesLogged ログに記録されるべきことが要求されたフィーチャー数
fme.peakMemoryUsage 変換中の最大メモリ使用量 (KB)
fme.processID 現在のプロセスのプロセスID
fme.status 変換が失敗したときは False、成功したときは True
fme.totalFeaturesRead 読み込まれたフィーチャー数の合計
fme.totalFeaturesWritten 書き出されたフィーチャー数の合計
Startup Tcl Script
FME_LogFileName ログファイルパス
注: スタートアップスクリプト実行時にはすでにログファイルが開いているので、ログファイルにメッセージを出力したいときは FME_LogMessage プロシージャを使用してください。

FME_LogMessage プロシージャ構文:

FME_LogMessage <severity> <messageNumber> [<arg>]+
または
FME_LogMessage <severity> <message>

<severity> には以下のうちひとつが指定できる。
fme_inform, fme_warn, fme_error, fme_fatal, fme_statistic, and fme_statusreport
FME_MacroValues(<macroname>) マッピングファイルで定義されたマクロ名をキー、マクロの値を値とする array
FME_MappingFileId マッピングファイルで定義された MAPPING_FILE_ID ディレクティブの値
Shutdown Tcl Script
FME_CPUTime スタートアップが実行される直前からシャットダウンが実行される直前までの合計CPUタイム (秒)
FME_CPUUserTime スタートアップが実行される直前からシャットダウンが実行される直前までのユーザーCPUタイム (秒)
FME_CPUSysTime スタートアップが実行される直前からシャットダウンが実行される直前までのシステムCPUタイム (秒)
FME_ElapsedRunTime スタートアップが実行される直前からシャットダウンが実行される直前までの実際の経過時間 (秒)
FME_ElapsedTime スタートアップが実行される直前からシャットダウンが実行される直前までの経過時間 (秒)
FME_EndingSeconds 変換終了時刻のエポックからの秒数
FME_EndingTimeStamp 変換終了時刻 (YYYY-MM-DD HH:MM:SS)
FME_FailureMessage 変換が失敗した場合はメッセージ、成功した場合はブランク
FME_FeaturesRead(<featureType>) フィーチャータイプ名をキー、読み込まれたフィーチャー数を値とする array
FME_FeaturesWritten(<featureType>) フィーチャータイプ名をキー、書き出されたフィーチャー数を値とする array
FME_Licensing FMEのエディションとライセンスのタイプに関する情報
FME_LogFileName ログファイルパス
注: シャットダウンスクリプト実行前にログファイルは閉じらるので、FME_LogMessage プロシージャを使用してログファイルにメッセージを出力することはできません。ログファイルにメッセージを出力したいときは、ログファイルを追加モードで開いてください。
FME_MacroValues(<macroname>) マッピングファイルで定義されたマクロ名をキー、マクロの値を値とする array
FME_MappingFileId マッピングファイルで定義された MAPPING_FILE_ID ディレクティブの値
FME_MemoryUsage 変換終了時のメモリ使用量合計 (KB)
FME_NumFeaturesLogged ログに記録されるべきことが要求されたフィーチャー数
FME_PeakMemoryUsage 変換中の最大メモリ使用量 (KB)
FME_StartingSeconds 変換開始時刻のエポックからの秒数
FME_StartingTimeStamp 変換開始時刻 (YYYY-MM-DD HH:MM:SS)
FME_Status 変換が失敗したときは 0、成功したときは 1
FME_TotalCoordinates 出力された頂点数の合計
FME_TotalFeaturesRead 読み込まれたフィーチャー数の合計
FME_TotalFeaturesWritten 書き出されたフィーチャー数の合計