你看过基础组件中的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
然而,这不是处理无效输入的唯一方法。这是由开发人员决定的设计决策。
如果您希望下游的其他组件了解链中其他地方的问题,您有几个选择。您可以使用在 bulkio 端口实现中可用的 End of Stream 位向下游组件发出信号,表明没有其他数据。然后,他们可以使用此信息进行清理和关闭。您还可以使用消息传递将消息发送到事件通道,并且订阅此事件通道的任何人都可以知道该消息。同样,这是一个设计决策。