Fixed rate

Updated at:
Copy as MD

Cron expressions only support minute-level intervals that divide evenly into 60. To schedule jobs at intervals like every 40 minutes, every 90 seconds, or every 7 hours, use fixed rate scheduling instead.

Fixed rate scheduling uses a simple expression to run a job at a constant interval that you specify in seconds. The minimum interval is 10 seconds. Common use cases include:

  • Non-standard intervals -- polling an external API every 40 minutes, syncing data every 90 seconds, or running health checks every 7 hours

  • Simple recurring tasks -- cleaning up temporary files, refreshing caches, or retrying failed operations at regular intervals

Configure fixed rate scheduling

To set up fixed rate scheduling, create or edit a job and configure the timing parameters. For more information, see Create a job.

  1. In the Create task panel, go to the Timing configuration step.

    For the full procedure, see Create a job.

  2. In the Timing configuration step, configure the scheduling parameters and click Next Step.

    Fixed rate timing configuration

    1. Select fixed_rate from the Time type drop-down list.

    2. Set the Fixed frequency to your desired interval in seconds.

      Note

      The value must be greater than or equal to 10. Unit: seconds. To run jobs more frequently, use XXL-JOB instead.

    3. Optional. Expand Advanced Configuration and configure the following parameters.

      Parameter

      Description

      Default value

      Time offset

      The offset of the data time relative to the scheduling time. Retrieve this value from the job context at runtime.

      None

      Time zone

      The time zone for scheduling. Select a regional time zone (for example, Asia/Shanghai) or a GMT offset (for example, GMT+8).

      None

      Effective time

      The time when the job starts running.

      Effective immediately

Fixed rate vs. cron

Use this table to determine which scheduling type fits your use case.

Criteria Fixed rate Cron
Interval flexibility Any interval >= 10 seconds Minute-level intervals that divide evenly into 60
Expression format A single number (seconds) Standard cron expression
Best for Recurring tasks at non-standard intervals (every 40 min, every 7 hours) Tasks at specific clock times (daily at 08:00, every Monday at midnight)
Sub-second scheduling Not supported Not supported

What's next