# FairshareSchedulingPolicyProps

Fairshare SchedulingPolicy configuration.

Extends: FairshareSchedulingPolicyProps
Used as props by: FairshareSchedulingPolicy

- Source: [`aws-batch/lib/scheduling-policy.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-batch/lib/scheduling-policy.ts#L151)
- Type last changed: v2.96.0 · 13 Sep 2023

## Example

```ts
const fairsharePolicy = new batch.FairshareSchedulingPolicy(this, 'myFairsharePolicy', {
   shareDecay: cdk.Duration.minutes(5),
});
```

## Properties

- `computeReservation`: number — Used to calculate the percentage of the maximum available vCPU to reserve for share identifiers not present in the Queue.

  **Default:** no vCPU is reserved

  The percentage reserved is defined by the Scheduler as:
  `(computeReservation/100)^ActiveFairShares` where `ActiveFairShares` is the number of active fair share identifiers.

  For example, a computeReservation value of 50 indicates that AWS Batch reserves 50% of the
  maximum available vCPU if there's only one fair share identifier.
  It reserves 25% if there are two fair share identifiers.
  It reserves 12.5% if there are three fair share identifiers.

  A computeReservation value of 25 indicates that AWS Batch should reserve 25% of the
  maximum available vCPU if there's only one fair share identifier,
  6.25% if there are two fair share identifiers,
  and 1.56% if there are three fair share identifiers.

- `schedulingPolicyName`: string — The name of this SchedulingPolicy.

  **Default:** generated by CloudFormation

- `shareDecay`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) — The amount of time to use to measure the usage of each job.

  **Default:** 0: only the current job usage is considered

  The usage is used to calculate a fair share percentage for each fair share identifier currently in the Queue.
  A value of zero (0) indicates that only current usage is measured.
  The decay is linear and gives preference to newer jobs.

  The maximum supported value is 604800 seconds (1 week).

- `shares`: [Share](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.Share.html)[] — The shares that this Scheduling Policy applies to.

  **Default:** no shares

  *Note*: It is possible to submit Jobs to the queue with Share Identifiers that
  are not recognized by the Scheduling Policy.
