def METHOD_NAME(
        self,
        outputfile: Union[str, pathlib.Path],
        print=print, max_poll_interval=60, connection_retry_interval=30,
        job_options=None,
) -> BatchJob:
    """
    Evaluate the process graph by creating a batch job, and retrieving the results when it is finished.
    This method is mostly recommended if the batch job is expected to run in a reasonable amount of time.
    For very long running jobs, you probably do not want to keep the client running.
    :param job_options:
    :param outputfile: The path of a file to which a result can be written
    :param out_format: (optional) Format of the job result.
    :param format_options: String Parameters for the job result format
    """
    job = self.create_job(additional=job_options)
    return job.run_synchronous(
        # TODO #135 support multi file result sets too
        outputfile=outputfile,
        print=print, max_poll_interval=max_poll_interval, connection_retry_interval=connection_retry_interval
    )