| //- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| include /app/helpers/jade/mixins |
| include /app/configuration/mixins |
| |
| -var form = 'collision' |
| -var model = '$ctrl.clonedCluster.collision' |
| -var modelCollisionKind = model + '.kind'; |
| |
| panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) |
| panel-title Collision configuration |
| panel-description |
| | Configuration Collision SPI allows to regulate how grid jobs get executed when they arrive on a destination node for execution. |
| | #[a.link-success(href="https://apacheignite.readme.io/docs/job-scheduling" target="_blank") More info] |
| panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) |
| .pca-form-column-6.pc-form-grid-row |
| .pc-form-grid-col-60 |
| +form-field__dropdown({ |
| label:'CollisionSpi:', |
| model: modelCollisionKind, |
| name: '"collisionKind"', |
| placeholder: 'Choose discovery', |
| options: '[\ |
| {value: "JobStealing", label: "Job stealing"},\ |
| {value: "FifoQueue", label: "FIFO queue"},\ |
| {value: "PriorityQueue", label: "Priority queue"},\ |
| {value: "Custom", label: "Custom"},\ |
| {value: "Noop", label: "Default"}\ |
| ]', |
| tip: 'Regulate how grid jobs get executed when they arrive on a destination node for execution\ |
| <ul>\ |
| <li>Job stealing - supports job stealing from over-utilized nodes to under-utilized nodes</li>\ |
| <li>FIFO queue - jobs are ordered as they arrived</li>\ |
| <li>Priority queue - jobs are first ordered by their priority</li>\ |
| <li>Custom - custom CollisionSpi implementation</li>\ |
| <li>Default - jobs are activated immediately on arrival to mapped node</li>\ |
| </ul>' |
| }) |
| .pc-form-group(ng-show=`${modelCollisionKind} !== 'Noop'`) |
| .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'JobStealing'`) |
| include ./collision/job-stealing |
| .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'FifoQueue'`) |
| include ./collision/fifo-queue |
| .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'PriorityQueue'`) |
| include ./collision/priority-queue |
| .pc-form-grid-row(ng-show=`${modelCollisionKind} === 'Custom'`) |
| include ./collision/custom |
| .pca-form-column-6 |
| -var model = '$ctrl.clonedCluster.collision' |
| +preview-xml-java(model, 'clusterCollision') |