Skip to content

Queue Server Configuration

Vladislav Alekseev edited this page Aug 19, 2020 · 23 revisions

This configuration is described by QueueServerConfiguration.swift source file. It defines how workers and queue operate.

Keys

analyticsConfiguration

Graphite

This is a JSON object. It configures analytics services that Emcee can use to report various events.

To enable reporting to graphite, add graphiteConfiguration as below:

{
    "analyticsConfiguration": {
        "graphiteConfiguration": {
            "socketAddress": "graphite.example.com:2111",
            "metricPrefix": "your.own.emcee.graphite.prefix"
        }
    }
}

Replace graphite.example.com:2111 with your graphite address and port, and set your own graphite metric prefix instead of your.own.emcee.graphite.prefix. Read more about Graphite events here.

Sentry

To enable reporting to Sentry, add sentryConfiguration as below:

{
    "analyticsConfiguration": {
        "sentryConfiguration": {
            "dsn": "your_sentry_dsn"
        }
    }
}

You will need to specify Sentry DSN instead of your_sentry_dsn.

If you don't want any analytics, provide an empty JSON object:

{
    "analyticsConfiguration": {}
}

checkAgainTimeInterval

checkAgainTimeInterval defines how often workers poll the queue for buckets to execute. Use a value of 30 seconds.

queueServerDeploymentDestination

Defines where a queue should be looked for, or where it should be started in case if it needs to be started.

{
    "queueServerDeploymentDestination": {
        "host": "example.com",
        "port": 22,
        "username": "ssh login",
        "password": "ssh password",
        "remoteDeploymentPath": "/path/to/working/dir/"
    }
}

workerDeploymentDestinations

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.

workerSpecificConfigurations

This is map from worker id to Worker Specific Configuration object.

{
    "workerSpecificConfigurations": {
        "worker1": {"numberOfSimulators": 3},
        "worker2": {"numberOfSimulators": 2},
    }
}

queueServerTerminationPolicy

Defines when queue server will automatically terminate itself.

Detailed explanation is given on Queue Termination Policy page.

Clone this wiki locally