-
Notifications
You must be signed in to change notification settings - Fork 28
Queue Server Configuration
This configuration is described by QueueServerConfiguration.swift source file. It defines how workers and queue operate.
You can generate sample queue configuration file and modify it up to your needs:
$ Emcee initQueueServerConfig --output /path/to/queue_config.json
This is an analytics configuration object
checkAgainTimeInterval
defines how often workers poll the queue for buckets to execute. Use a value of 30
seconds.
Defines where a queue should be looked for, or where it should be started in case if it needs to be started.
This is an array with destinations. Emcee will first try to scan all destinations in order to find a running queue there. If no running queue will be located, it will try to start the new queue on destinations in specified order.
{
"queueServerDeploymentDestinations": [
{
"host": "example.com",
"port": 22,
"username": "ssh login",
"password": "ssh password",
"remoteDeploymentPath": "/path/to/working/dir/"
}
]
}
This is an array of computers that will be used as Emcee workers. The computer that is running shared queue can also be Emcee worker.
Each element of this array describes how Emcee can reach the computer.
This is an array of Deployment Destination objects.
This is map from host name to Worker Specific Configuration object.
{
"workerSpecificConfigurations": {
"worker1.example.com": {"numberOfSimulators": 3, "maximumCacheSize": 0},
"worker2.example.com": {"numberOfSimulators": 2},
}
}
Note: currently worker id
and host name
are the same things.
Defines when queue server will automatically terminate itself.
Detailed explanation is given on Queue Termination Policy page.
Defines how workers are started:
-
queueStartsItsWorkersOverSshAndLaunchd
: queue starts its workers automatically by using SSH and launchd. This is a default behavior. -
unknownWayOfStartingWorkers
: queue will not start workers, assuming something else will start them.
A default worker configuration, kind of universal one. This is useful if you don't know how many workers are going to be started.
What address should be used when determining addresses for communication channels between worker and queue.