# Schedule

Schedule for scheduled event rules.

Note that rates cannot be defined in fractions of minutes.

- Source: [`aws-events/lib/schedule.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-events/lib/schedule.ts#L13)
- Type last changed: v2.97.1 · 26 Sep 2023

## Example

```ts
import * as redshiftserverless from 'aws-cdk-lib/aws-redshiftserverless'

declare const workgroup: redshiftserverless.CfnWorkgroup;

const rule = new events.Rule(this, 'Rule', {
  schedule: events.Schedule.rate(cdk.Duration.hours(1)),
});

const dlq = new sqs.Queue(this, 'DeadLetterQueue');

rule.addTarget(new targets.RedshiftQuery(workgroup.attrWorkgroupWorkgroupArn, {
  database: 'dev',
  deadLetterQueue: dlq,
  sql: ['SELECT * FROM foo','SELECT * FROM baz'],
}));
```

## Initializer

```ts
new Schedule()
```

## Properties

- `expressionString`: string — Retrieve the expression for this schedule.

## Methods

- `cron(options: CronOptions): Schedule // chainable` (static) — Create a schedule from a set of cron fields.

- `expression(expression: string): Schedule // chainable` (static) — Construct a schedule from a literal schedule expression.

  **Parameters**

  - `expression` — The expression to use.

- `rate(duration: Duration): Schedule // chainable` (static) — Construct a schedule from an interval and a time unit.

  Rates may be defined with any unit of time, but when converted into minutes, the duration must be a positive whole number of minutes.
