def unwatch_run(self, run_id: str, handler: Callable[([EventLogEntry], None)]):
    run_id = check.str_param(run_id, 'run_id')
    handler = check.callable_param(handler, 'handler')
    with self._dict_lock:
        if (run_id in self._run_id_to_watcher_dict):
            self._run_id_to_watcher_dict[run_id].remove_callback(handler)
            if self._run_id_to_watcher_dict[run_id].should_thread_exit.is_set():
                del self._run_id_to_watcher_dict[run_id]
def unwatch_run(self, run_id: str, handler: Callable[([EventLogEntry], None)]):
    run_id = check.str_param(run_id, 'run_id')
    handler = check.callable_param(handler, 'handler')
    with self._dict_lock:
        if (run_id in self._run_id_to_watcher_dict):
            self._run_id_to_watcher_dict[run_id].remove_callback(handler)
            if self._run_id_to_watcher_dict[run_id].should_thread_exit.is_set():
                del self._run_id_to_watcher_dict[run_id]