基本コンポーネントの Data Reader コンポーネントを確認しましたか? 入力としてファイルパスもあります。以下に示すように、onConfigure 呼び出し中にこれを処理します。
def onconfigure_prop_InputFile(self, oldvalue, newvalue):
self.InputFile = newvalue
if not os.path.exists(self.InputFile):
self._log.error("InputFile path provided can not be accessed")
そして、サービス関数で NOOP を返します。
def process(self):
if (self.Play == False):
return NOOP
if not (os.path.exists(self.InputFile)):
return NOOP
ただし、無効な入力を処理する方法はこれだけではありません。これは、開発者の設計上の決定です。
チェーンの他の場所にある問題について下流の追加コンポーネントに知らせたい場合は、いくつかのオプションがあります。バルキオ ポートの実装で利用可能なエンド オブ ストリーム ビットを使用して、追加のデータがないことをダウン ストリーム コンポーネントに知らせることができます。その後、この情報を使用して、クリーンアップとシャットダウンを行うことができます。メッセージングを使用してイベント チャネルにメッセージを送信することもでき、このイベント チャネルを購読しているすべての人にメッセージを知らせることができます。繰り返しますが、これは設計上の決定です。