This page details some environment variables you can use to configure the Optimization Server. To learn how to add environment variables, please read the following pages:
Limits are specified at Master application level, a set of
label names per
group (groups being arbitrary strings)
can be set by configuration.
Label limits are expressed as a maximum number of concurrent jobs per
label (compounds of a
label name and a
Each worker task can belong to a
group (group is optional).
Here is an example:
As the Master application admin
I have a task: “MyTask” in the “cplex”
I want to limit the concurrent “cplex” jobs to 2 per factory.
I know this limit at deployment time. When I deploy the application, I specify for the “cplex”
label limit of 2 per “factory”.
As a Master application user
I want to run a new job from a task in the “cplex”
When I create this new job (only per API for now), I need to give a string value to each
label names included in the limits of this
group. In this case, I need to tell to which “factory” I am related.
The worker task group is set on the
worker.yml as follows:
tasks: - id: MyTask implementationClassName: com.decisionbrain.worker.MyTask group: cplex ...
In this example the task
MyTask belongs to the group
Group limits can be defined with the following environment variables on master :
OPTIMSERVER_SERVICE_TASKGROUP_GROUPS_0_NAME=cplex OPTIMSERVER_SERVICE_TASKGROUP_GROUPS_0_LABELLIMITS_FACTORY=2 OPTIMSERVER_SERVICE_TASKGROUP_GROUPS_1_NAME=mycustomlimit OPTIMSERVER_SERVICE_TASKGROUP_GROUPS_1_LABELLIMITS_LABELNAME1=2 OPTIMSERVER_SERVICE_TASKGROUP_GROUPS_1_LABELLIMITS_LABELNAME2=5
groupsare “cplex” and “mycustomlimit”
label namesare “factory”, “labelname1”, “labelname2”
label limitsare the number defined in front of the
In this example the
label limit for the “factory”
label name is 2. Which means, the maximum number of tasks is 2 with the
label “factory = NewYork” and 2 with the
label “factory = MyFactory” and so on. There is more than two tasks if they don’t have the same
label value for the “factory”
When creating a Job all the
label names should be configured with a
label value, if one is missing or one doesn’t exist the Job will
be created with the status
Example of label name and value pairs:
Then when the Job is started the Master application will check the limits to queue or launch the Job execution.