code: def _push_with_exception_handle(
      rsc, v, name: str, tag: str, parties: List[PartyMeta]
  ):
      def _remote_exception_re_raise(f, p: PartyMeta):
          try:
              f.result()
              logger.debug(
                  f"[federation.eggroll.remote.{name}.{tag}]future to remote to party: {p} done"
              )
          except Exception as e:
              pid = os.getpid()
              logger.exception(
                  f"[federation.eggroll.remote.{name}.{tag}]future to remote to party: {p} fail,"
                  f" terminating process(pid={pid})"
              )
              import traceback
  
              print(
                  f"federation.eggroll.remote.{name}.{tag} future to remote to party: {p} fail,"
                  f" terminating process {pid}, traceback: {traceback.format_exc()}"
              )
              os.kill(pid, signal.SIGTERM)
              raise e
  
      def _get_call_back_func(p: PartyMeta):
          def _callback(f):
              return _remote_exception_re_raise(f, p)
  
          return _callback
  
      rs = rsc.load(name=name, tag=tag)
      futures = rs.push(obj=v, parties=parties)
      for party, future in zip(parties, futures):
          future.add_done_callback(_get_call_back_func(party))
  
      add_remote_futures(futures)
      return rs
  
imports: import concurrent.futures
  import logging
  import os
  import signal
  import typing
  from typing import List
  from eggroll.computing import RollPair
  from eggroll.federation import RollSiteContext
  from fate.arch.computing.backends.eggroll import Table
  from fate.arch.federation.api import Federation, PartyMeta, TableMeta
label_desc: Use image node_id 1 for calling a global function with example usage: _push_with_exception_handle(rsc, v, name, tag, parties) and returns: rs, _callback, _remote_exception_re_raise