-
Notifications
You must be signed in to change notification settings - Fork 92
Profile
Igelko edited this page Nov 27, 2014
·
2 revisions
Profiles describe how an application should be executed. In particular, through profiles one can configure various timeouts and runtime limits. Unlike manifests, profiles do not describe what to execute.
-
heartbeat-timeout
, default: 30.0f, positive, specifies the amount of time to wait for slave heartbeats: missing heartbeats usually mean that the slave's I/O thread is blocked by some operation for far too long and that slave should be restarted. -
idle-timeout
, default: 600.0f, non-negative, specifies the amount of time an idle slave would be kept alive; zero means idle slaves won't be terminated at all. -
startup-timeout
, default: 10.0f, positive, same asheartbeat-timeout
, but used before the first heartbeat is received, i.e. while a slave is being initialized. -
termination-timeout
, default: 5.0f, positive, specifies the amount of time to wait for outstanding sessions on app shutdown.
-
concurrency
, default: 10, positive, the maximum number of simultaneous sessions on a single slave. -
crashlog-limit
, default: 50, non-negative, the maximum number of standard output lines to keep during the slave life; these lines are kept in a ring buffer and would be dumped into the core storage if the given slave crashes or times out. -
grow-threshold
, positive, pool growth slowdown coefficient; the effective pool size is calculated as min(pool-limit, max(1, queue_size / grow_threshold)) -
pool-limit
, default: 10, positive, maximum number of active slaves. -
queue-limit
, default: 100, positive, maximum length of the queue.
-
log-output
, default: false, specifies whether to dump all slave standard output into the log.
Isolations are used to spawn slaves in a controlled environment. There are two types of isolations for now:
- Process
- CGroup
Unlike Process isolate, CGroup isolate can be configured. CGroup arguments take the following form: "subsystem.option": value
, where value might be a string, an integer or a boolean depending on the option. CGroup isolation can be enabled and configured using something similar to the following snippet in the profile:
{
"isolate": {
"type": "cgroups",
"args": {
"blkio.throttle.write_bps_device": "252:2 10485760",
"memory.limit_in_bytes": "4G"
}
}