in connectors/es/sink.py [0:0]
def done(self):
"""
An async task (which this mimics) should be "done" if:
- it was canceled
- it errored
- it completed successfully
:return: True if the orchestrator is "done", else False
"""
if self.get_error() is not None:
return True
extractor_done = (
True
if self._extractor_task is None or self._extractor_task.done()
else False
)
sink_done = True if self._sink_task is None or self._sink_task.done() else False
return extractor_done and sink_done