.. _conf.seq.sched.sequence: =========================== Set Up Instruction Sequence =========================== You can configure a collection of instructions to run at a predefined frequency. These instructions can come from different services and will be executed in the specified order based on the schedule you define. To create an instruction sequence, follow the steps below: 1. Navigate to :menuselection:`Configuration --> Sequencing & Applications --> Scheduling Service` from the menu. 2. In the **Scheduling Service** pane, click the **Create Instruction Sequence** button (top right). 3. In the **Instruction Sequence** dialog, proceed as follows: a. Define main sequence parameters: .. list-table:: :widths: 1 5 :header-rows: 1 :class: tight-table * - Field/Button - Description * - **Enabled** - Toggles the instruction sequence on or off. - **ON**: The scheduler will run at its next scheduled time. - **OFF**: The scheduler will skip execution until enabled. * - **Sequence Name** - Enter a unique name for the instruction sequence. * - **Use Cron** - If enabled, the schedule is defined using a Cron expression. Click the Cron hyperlink above the button to open the `crontab.guru `_ page, where you can build and copy a Cron expression. Example: ``5 * * * *`` runs at the 5th minute of every hour; ``50 0 * * *`` runs at 12:50 AM daily. Paste the expression into the **Schedule** field. * - **Schedule** - Defines how often the sequence runs. - If **Use Cron** is enabled, paste the Cron value here. - If **Use Cron** is disabled, enter a numeric value (for example, 5) and select a **Time Unit** in the next field (for example, Minutes) to run the sequence at that interval (for example, every 5 minutes). * - **Time Units** - Only shown if **Use Cron** is disabled. Select the unit of time (for example, Seconds, Minutes, Hours) that corresponds to the numeric value in the **Schedule** field. b. Click the **Add Instruction** button at the top of the dialog to add instructions to the sequence. - For each instruction, select the **Service**, **Instruction**, and any required parameters (similar to setting up a single instruction; see :ref:`conf.seq.sched.single`). - Set a **Timeout** value (in seconds). This defines how long the scheduler should wait for the instruction to complete before moving to the next one. .. tip:: For instructions that must complete before the next one starts, set a timeout long enough to cover the expected duration. It's safe to use large values - even days - since the scheduler proceeds as soon as the instruction finishes. c. Repeat the step above to add as many instructions as needed. 4. Click **Create** to save the instruction sequence. .. admonition:: Result The new instruction sequence appears in the **Instruction Sequences** tab of the **Scheduling Service** pane. If enabled, it will run according to the defined schedule.