Files
Lina JodoinandGitHub d2adbf0139 [Scheduled Actions] Record initial total idle time on the idle task itself (#8334)
## What changed?
- Recorded the idle expiration time into the SchedulerIdleTask.

## Why?
- The CHASM scheduler's idle expiration time is controlled by dynamic
config. If this value changes after the idle task has been pushed, it
would have inadvertedly invalidated itself. Now, DC changes are handled
gracefully.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [ ] covered by existing tests
- [x] added new unit test(s)
- [ ] added new functional test(s)
2025-10-15 14:45:17 -07:00

29 lines
969 B
Protocol Buffer

syntax = "proto3";
package temporal.server.chasm.lib.scheduler.proto.v1;
option go_package = "go.temporal.io/server/chasm/lib/scheduler/gen/schedulerpb;schedulerpb";
import "google/protobuf/duration.proto";
// Fires when the scheduler's idle period has lapsed, and the scheduler should
// be closed.
message SchedulerIdleTask {
// Idle time total is set at time of task creation, so that if the dynamic config key
// controlling idle time changes, task validation will be aware.
google.protobuf.Duration idle_time_total = 1;
}
// Buffers actions based on the schedule's specification.
message GeneratorTask {}
// Processes buffered actions, deciding whether to execute, delay, or discard.
message InvokerProcessBufferTask {}
// Drives execution of pending buffered actions to completion by starting,
// canceling, or terminating workflows.
message InvokerExecuteTask {}
// Buffers actions based on a manually-requested backfill.
message BackfillerTask {}