For API jobs running on the Agent, most JobScheduler API functions are executed on the JobScheduler Master.

However, some functions need proxy implementations or special treatment to run directly on the Agent:

(question) = treatment still unclear, open for discussion

functiontreatmentremarks
sos.spooler.Spooler.include_pathFunctionNotSupportedOnAgentException"Returns the command line setting -include-path=." There no -include-path on the agent.
sos.spooler.Spooler.log_dirFunctionNotSupportedOnAgentExceptionTask and Order logs are logged on the Master JobScheduler.
sos.spooler.Spooler.directoryProxyreturns working dir of the agent
sos.spooler.Spooler.ini_pathFunctionNotSupportedOnAgentException

"The value of the -ini= option (the name of the factory.ini file)" There is no -ini option on the agent

sos.spooler.Spooler.create_xslt_stylesheet()FunctionNotSupportedOnAgentExceptiondeprecated, not used on the agent
sos.spooler.Log.log() and other logging functionsProxyProxy checks log level to avoid unnecessary network api calls
sos.spooler.Log.start_new_file()no Proxystart new file for Master Scheduler
sos.spooler.Task.create_subprocess(question) ProxyRequired to kill subprocesses with task kill
sos.spooler.Subprocess.close(question) Proxy 
sos.spooler.Subprocess.env(question) Proxy 
sos.spooler.Subprocess.environment()(question) Proxy 
sos.spooler.Subprocess.exit_code(question) Proxy 
sos.spooler.Subprocess.ignore_error(question) Proxy 
sos.spooler.Subprocess.ignore_signal(question) FunctionNotSupportedOnAgentExceptionNot possible in Java. Could be implemented with platform-dependant solution.
sos.spooler.Subprocess.kill(question) ProxyHow hard the process is killed (from java) is undefined, see https://docs.oracle.com/javase/8/docs/api/java/lang/Process.html#destroy--
sos.spooler.Subprocess.own_process_group(question) FunctionNotSupportedOnAgentExceptionNot possible in Java. Could be implemented with platform-dependant solution.
sos.spooler.Subprocess.pid(question) FunctionNotSupportedOnAgentExceptionNot possible in Java. Could be implemented with platform-dependant solution.
sos.spooler.Subprocess.priority(question) FunctionNotSupportedOnAgentExceptionNot possible in Java. Could be implemented with platform-dependant solution.
sos.spooler.Subprocess.priority_class(question) FunctionNotSupportedOnAgentExceptionNot possible in Java. Could be implemented with platform-dependant solution.
sos.spooler.Subprocess.start()(question) Proxy 
sos.spooler.Subprocess.terminated(question) Proxy 
sos.spooler.Subprocess.termination_signal(question) FunctionNotSupportedOnAgentExceptionNot possible in Java. Could be implemented with platform-dependant solution.
sos.spooler.Subprocess.timeout(question) Proxy 
sos.spooler.Subprocess.wait_for_termination(question) Proxy 
sos.spooler.Task.priority_class(question) ProxyIs this possible inside the jvm?
sos.spooler.Task.priority(question) ProxyIs this possible inside the jvm?
sos.spooler.Task.stderr_textProxy 
sos.spooler.Task.stdout_textProxy 
sos.spooler.Task.stderr_pathProxy 
sos.spooler.Task.stdout_pathProxy 
sos.spooler.Xslt_stylesheet all methodsFunctionNotSupportedOnAgentExceptiondeprecated, not used on the agent