class_docstr: Interface for defining write-related logic.
  
  If you want to write data to something that isn't built-in, subclass this class
  and call :meth:`~ray.data.Dataset.write_datasink`.
class_docstr_tok: ["Interface","for","defining","write-related","logic",".","If","you","want","to","write","data","to","something","that","is","n't","built-in",",","subclass","this","class","and","call",":","meth",":","`","~ray.data.Dataset.write_datasink","`","."]
docstr: Callback for when a write job completes.
  
  This can be used to "commit" a write output. This method must
  succeed prior to ``write_datasink()`` returning to the user. If this
  method fails, then ``on_write_failed()`` is called.
  
  Args:
      write_results: The objects returned by every :meth:`~Datasink.write` task.
docstr_tok: ["Callback","for","when","a","write","job","completes",".","This","can","be","used","to","``","commit","''","a","write","output",".","This","method","must","succeed","prior","to","``","write_datasink","(",")","``","returning","to","the","user",".","If","this","method","fails",",","then","``","on_write_failed","(",")","``","is","called",".","Args",":","write_results",":","The","objects","returned","by","every",":","meth",":","`","~Datasink.write","`","task","."]
code: def on_write_complete(self, write_results: List[Any]) -> None:
      """Callback for when a write job completes.
  
      This can be used to "commit" a write output. This method must
      succeed prior to ``write_datasink()`` returning to the user. If this
      method fails, then ``on_write_failed()`` is called.
  
      Args:
          write_results: The objects returned by every :meth:`~Datasink.write` task.
      """
      pass
  
file_path: ray/python/ray/data/datasource/datasink.py
imports: from typing import Any, Iterable, List
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data.block import Block
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 3 for calling the Datasink obj's underlying member method code with example usage: obj.on_write_complete(write_results) without return types