Skip to content

Interval scheduled rows: reschedule after duration starting from run time, not from now after execution finished #2882

Open
@gefjon

Description

@gefjon

In crates/core/src/host/scheduler.rs SchedulerActor::delete_scheduled_reducer_row, when rescheduling a reducer for a ScheduleAt::Interval, we do Timestamp::now() + dur to get the next time to run. This means that any interval reducer which has non-negligible execution time will gradually drift from its intended interval. Change this so that we reschedule for prev_scheduled_time + dur instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions