mirror of
https://github.com/hanzoai/tasks.git
synced 2026-10-04 02:04:03 +00:00
## What changed? - Add "ephemeral data" propagated alongside user data. - Include information about which priority levels have significant backlog in ephemeral data (currently only propagated down the tree, not up) - When sticky partitions see that normal partitions have significant backlog, set up poll forwarders to forward to those partitions. - The poll forwarders use min priority to ensure they only get higher-priority tasks than available local tasks. ## Why? Without this functionality, sticky queues interfere with priority dispatch by keeping most of the pollers working on sticky tasks and potentially starving high-priority tasks that appear on the normal queue. With the default values of the new settings, sticky pollers should notice high-priority normal tasks within 10 seconds. ## How did you test it? - [ ] built - [ ] run locally and tested manually - [ ] covered by existing tests - [x] added new unit test(s) - [x] added new functional test(s) ## Potential risks - Clients have to accept that polls on sticky may return normal tasks. I believe all SDKs are fine with this. - Increased overhead of user data + ephemeral data.
377 lines
10 KiB
Go
377 lines
10 KiB
Go
// Code generated by protoc-gen-go-helpers. DO NOT EDIT.
|
|
package taskqueue
|
|
|
|
import (
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
// Marshal an object of type TaskVersionDirective to the protobuf v3 wire format
|
|
func (val *TaskVersionDirective) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type TaskVersionDirective from the protobuf v3 wire format
|
|
func (val *TaskVersionDirective) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *TaskVersionDirective) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two TaskVersionDirective 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 *TaskVersionDirective) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *TaskVersionDirective
|
|
switch t := that.(type) {
|
|
case *TaskVersionDirective:
|
|
that1 = t
|
|
case TaskVersionDirective:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type FairLevel to the protobuf v3 wire format
|
|
func (val *FairLevel) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type FairLevel from the protobuf v3 wire format
|
|
func (val *FairLevel) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *FairLevel) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two FairLevel 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 *FairLevel) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *FairLevel
|
|
switch t := that.(type) {
|
|
case *FairLevel:
|
|
that1 = t
|
|
case FairLevel:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type InternalTaskQueueStatus to the protobuf v3 wire format
|
|
func (val *InternalTaskQueueStatus) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type InternalTaskQueueStatus from the protobuf v3 wire format
|
|
func (val *InternalTaskQueueStatus) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *InternalTaskQueueStatus) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two InternalTaskQueueStatus 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 *InternalTaskQueueStatus) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *InternalTaskQueueStatus
|
|
switch t := that.(type) {
|
|
case *InternalTaskQueueStatus:
|
|
that1 = t
|
|
case InternalTaskQueueStatus:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type TaskQueueVersionInfoInternal to the protobuf v3 wire format
|
|
func (val *TaskQueueVersionInfoInternal) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type TaskQueueVersionInfoInternal from the protobuf v3 wire format
|
|
func (val *TaskQueueVersionInfoInternal) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *TaskQueueVersionInfoInternal) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two TaskQueueVersionInfoInternal 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 *TaskQueueVersionInfoInternal) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *TaskQueueVersionInfoInternal
|
|
switch t := that.(type) {
|
|
case *TaskQueueVersionInfoInternal:
|
|
that1 = t
|
|
case TaskQueueVersionInfoInternal:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type PhysicalTaskQueueInfo to the protobuf v3 wire format
|
|
func (val *PhysicalTaskQueueInfo) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type PhysicalTaskQueueInfo from the protobuf v3 wire format
|
|
func (val *PhysicalTaskQueueInfo) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *PhysicalTaskQueueInfo) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two PhysicalTaskQueueInfo 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 *PhysicalTaskQueueInfo) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *PhysicalTaskQueueInfo
|
|
switch t := that.(type) {
|
|
case *PhysicalTaskQueueInfo:
|
|
that1 = t
|
|
case PhysicalTaskQueueInfo:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type TaskQueuePartition to the protobuf v3 wire format
|
|
func (val *TaskQueuePartition) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type TaskQueuePartition from the protobuf v3 wire format
|
|
func (val *TaskQueuePartition) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *TaskQueuePartition) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two TaskQueuePartition 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 *TaskQueuePartition) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *TaskQueuePartition
|
|
switch t := that.(type) {
|
|
case *TaskQueuePartition:
|
|
that1 = t
|
|
case TaskQueuePartition:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type BuildIdRedirectInfo to the protobuf v3 wire format
|
|
func (val *BuildIdRedirectInfo) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type BuildIdRedirectInfo from the protobuf v3 wire format
|
|
func (val *BuildIdRedirectInfo) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *BuildIdRedirectInfo) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two BuildIdRedirectInfo 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 *BuildIdRedirectInfo) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *BuildIdRedirectInfo
|
|
switch t := that.(type) {
|
|
case *BuildIdRedirectInfo:
|
|
that1 = t
|
|
case BuildIdRedirectInfo:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type TaskForwardInfo to the protobuf v3 wire format
|
|
func (val *TaskForwardInfo) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type TaskForwardInfo from the protobuf v3 wire format
|
|
func (val *TaskForwardInfo) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *TaskForwardInfo) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two TaskForwardInfo 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 *TaskForwardInfo) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *TaskForwardInfo
|
|
switch t := that.(type) {
|
|
case *TaskForwardInfo:
|
|
that1 = t
|
|
case TaskForwardInfo:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type EphemeralData to the protobuf v3 wire format
|
|
func (val *EphemeralData) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type EphemeralData from the protobuf v3 wire format
|
|
func (val *EphemeralData) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *EphemeralData) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two EphemeralData 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 *EphemeralData) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *EphemeralData
|
|
switch t := that.(type) {
|
|
case *EphemeralData:
|
|
that1 = t
|
|
case EphemeralData:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|
|
|
|
// Marshal an object of type VersionedEphemeralData to the protobuf v3 wire format
|
|
func (val *VersionedEphemeralData) Marshal() ([]byte, error) {
|
|
return proto.Marshal(val)
|
|
}
|
|
|
|
// Unmarshal an object of type VersionedEphemeralData from the protobuf v3 wire format
|
|
func (val *VersionedEphemeralData) Unmarshal(buf []byte) error {
|
|
return proto.Unmarshal(buf, val)
|
|
}
|
|
|
|
// Size returns the size of the object, in bytes, once serialized
|
|
func (val *VersionedEphemeralData) Size() int {
|
|
return proto.Size(val)
|
|
}
|
|
|
|
// Equal returns whether two VersionedEphemeralData 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 *VersionedEphemeralData) Equal(that interface{}) bool {
|
|
if that == nil {
|
|
return this == nil
|
|
}
|
|
|
|
var that1 *VersionedEphemeralData
|
|
switch t := that.(type) {
|
|
case *VersionedEphemeralData:
|
|
that1 = t
|
|
case VersionedEphemeralData:
|
|
that1 = &t
|
|
default:
|
|
return false
|
|
}
|
|
|
|
return proto.Equal(this, that1)
|
|
}
|