mirror of
https://github.com/hanzoai/tasks.git
synced 2026-11-02 12:22:18 +00:00
## What Changed This PR adds a safe rollback path for schedules by enabling migration from CHASM-backed schedulers (V2) back to workflow-backed schedulers (V1). if we need to move a schedule off CHASM, migration should preserve schedule behavior and state, remain idempotent under retries, and leave the system in a consistent post-migration state. ## Expected Behavior - A V2 schedule can be migrated to V1 through admin APIs. - Migration preserves user-visible schedule semantics (including paused/notes state and conflict-token value semantics). - Migration is retry-safe/idempotent. - Once migration completes, the V1 schedule is active and the CHASM scheduler is no longer serving requests. - Unpause is blocked while migration is pending to prevent state divergence.
266 lines
7.2 KiB
Go
266 lines
7.2 KiB
Go
// Code generated by protoc-gen-go-helpers. DO NOT EDIT.
|
|
package schedulerpb
|
|
|
|
import (
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
// Marshal an object of type SchedulerIdleTask to the protobuf v3 wire format
|
|
func (val *SchedulerIdleTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type SchedulerIdleTask from the protobuf v3 wire format
|
|
func (val *SchedulerIdleTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *SchedulerIdleTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two SchedulerIdleTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *SchedulerIdleTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *SchedulerIdleTask
|
|
switch t := that.(type) {
|
|
case *SchedulerIdleTask:
|
|
that1 = t
|
|
case SchedulerIdleTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type SchedulerCallbacksTask to the protobuf v3 wire format
|
|
func (val *SchedulerCallbacksTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type SchedulerCallbacksTask from the protobuf v3 wire format
|
|
func (val *SchedulerCallbacksTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *SchedulerCallbacksTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two SchedulerCallbacksTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *SchedulerCallbacksTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *SchedulerCallbacksTask
|
|
switch t := that.(type) {
|
|
case *SchedulerCallbacksTask:
|
|
that1 = t
|
|
case SchedulerCallbacksTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type GeneratorTask to the protobuf v3 wire format
|
|
func (val *GeneratorTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type GeneratorTask from the protobuf v3 wire format
|
|
func (val *GeneratorTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *GeneratorTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two GeneratorTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *GeneratorTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *GeneratorTask
|
|
switch t := that.(type) {
|
|
case *GeneratorTask:
|
|
that1 = t
|
|
case GeneratorTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type InvokerProcessBufferTask to the protobuf v3 wire format
|
|
func (val *InvokerProcessBufferTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type InvokerProcessBufferTask from the protobuf v3 wire format
|
|
func (val *InvokerProcessBufferTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *InvokerProcessBufferTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two InvokerProcessBufferTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *InvokerProcessBufferTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *InvokerProcessBufferTask
|
|
switch t := that.(type) {
|
|
case *InvokerProcessBufferTask:
|
|
that1 = t
|
|
case InvokerProcessBufferTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type InvokerExecuteTask to the protobuf v3 wire format
|
|
func (val *InvokerExecuteTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type InvokerExecuteTask from the protobuf v3 wire format
|
|
func (val *InvokerExecuteTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *InvokerExecuteTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two InvokerExecuteTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *InvokerExecuteTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *InvokerExecuteTask
|
|
switch t := that.(type) {
|
|
case *InvokerExecuteTask:
|
|
that1 = t
|
|
case InvokerExecuteTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type BackfillerTask to the protobuf v3 wire format
|
|
func (val *BackfillerTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type BackfillerTask from the protobuf v3 wire format
|
|
func (val *BackfillerTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *BackfillerTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two BackfillerTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *BackfillerTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *BackfillerTask
|
|
switch t := that.(type) {
|
|
case *BackfillerTask:
|
|
that1 = t
|
|
case BackfillerTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type SchedulerMigrateToWorkflowTask to the protobuf v3 wire format
|
|
func (val *SchedulerMigrateToWorkflowTask) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type SchedulerMigrateToWorkflowTask from the protobuf v3 wire format
|
|
func (val *SchedulerMigrateToWorkflowTask) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *SchedulerMigrateToWorkflowTask) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two SchedulerMigrateToWorkflowTask values are equivalent by recursively
|
|
// comparing the message's fields.
|
|
// For more information see the documentation for
|
|
// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal
|
|
func (this *SchedulerMigrateToWorkflowTask) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *SchedulerMigrateToWorkflowTask
|
|
switch t := that.(type) {
|
|
case *SchedulerMigrateToWorkflowTask:
|
|
that1 = t
|
|
case SchedulerMigrateToWorkflowTask:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|