feat: add bounded task priority and fair application dispatch

This commit is contained in:
2026-09-17 18:45:54 +08:00
parent 958b4a8cea
commit 309ed75666
42 changed files with 1277 additions and 61 deletions

View File

@@ -194,6 +194,7 @@ func TestWorkerPublishedContract(t *testing.T) {
assignment := worker.Assignment{Task: task, AttemptID: id, Epoch: 1, LeaseSecret: secret, LeaseUntil: lease.LeaseUntil, ServerTime: now}
keyed := assignment
keyed.Task.ConcurrencyKey = "object/共享资源"
keyed.Task.Priority = 9
keyed.ConcurrencyToken = ^uint64(0) - 1
for _, tc := range []struct {
kind string
@@ -215,6 +216,8 @@ func TestWorkerPublishedContract(t *testing.T) {
keyedBody, _ := jsonwire.Marshal(keyed)
keyedFrame, _ := jsonwire.Marshal(workerFrame{Version: "1", Type: "task.assign", MessageID: id, SessionID: id, Body: keyedBody})
for _, raw := range []string{
strings.Replace(string(keyedFrame), `"priority":9`, `"priority":10`, 1),
strings.Replace(string(keyedFrame), `"priority":9`, `"priority":-1`, 1),
strings.Replace(string(keyedFrame), `"concurrency_token":"18446744073709551614",`, "", 1),
strings.Replace(string(keyedFrame), `"concurrency_key":"object/共享资源",`, "", 1),
strings.Replace(string(keyedFrame), `"concurrency_token":"18446744073709551614"`, `"concurrency_token":0`, 1),