Job Containers

Job Containers are the executing entities, they communicate with RapidMiner Server and connect to various persistent storages and endpoints if needed by the process itself.

Lifecycle and communication with the Job Agent

Job Containers are spawned by Job Agents and bound locally to a system port determined by the Job Agent. They are persistent by default which means that they will always be running as separate system process as long as the Job Agent is neither stopping nor restarting them. They can also be configured to restart at the end of a execution or via periodic timers. For more information on how to configure essential behavior of the Job Agent please refer to the Job Agent's configuration page.

Job directory

The directory is created under {homeDir}/data/jobs/{jobId}/ using the job's ID as folder name, where homeDir is either the home/ folder in the root directory of the unpackaged agent distribution or in case of the bundled Job Agent the job-agent-home/ folder in the RapidMiner Server Home folder. This folder contains the following files for the execution of a specific job:

  • execution.log - the log of the executed process
  • error.log - log file containing the error message, created only in case of error

Container working directory

Each container owns a specific container directory. The location of this directory is {homeDir}/data/containers/<CONTAINER ID>/ and it contains the context directory .RapidMiner which is copied by the agent to this directory before the container is started. It also contains information about the container application itself, namely in the file which is automatically created and used by the spawned container and contains derived values from the Job Agent's configuration.

When the agent spawns the container additional libraries are also loaded for this container. The container will use this context until it gets shut down or restarted.

If a job arrives in the agent, it redirects this job bundled with custom information like properties from the file to the container.

Container log directory

The container itself writes its output to the {homeDir}/log/container-<CONTAINER ID>.log. It contains information about submitted jobs, the state of the current execution and any error which might have occurred during the execution.