feat(server): add PCDN scheduling & dispatch pipeline#8
Open
hequan2017 wants to merge 1 commit intomainfrom
Open
feat(server): add PCDN scheduling & dispatch pipeline#8hequan2017 wants to merge 1 commit intomainfrom
hequan2017 wants to merge 1 commit intomainfrom
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Description
pcdnservice module underserver/service/pcdncontainingscheduler.go,policy_engine.go,dispatcher.go,fallback.go,runtime.goandenter.goimplementing scheduling, scoring, abstract dispatch interface with aMockDispatcher, fallback selection and runtime task processing.PcdnDispatchTaskmodel inserver/model/pcdn/dispatch_task.goto persist Top-N candidates and metrics snapshot, withtask_id/trace_iduniqueness and fields for state, timeout and retry (timeout_seconds,retry_count,max_retry,next_retry_unix).server/task/pcdn_dispatch.goand registering two second-level timers inserver/initialize/timer.goto run dispatch processing and status sync; registered the model for auto-migration ininitialize/gorm_biz.goand addedPcdnServiceGrouptoservice/enter.go.PolicyEngine, return Top-N and persistPcdnDispatchTask; runtime handles dispatching, idempotent state transitions, retry/backoff and fallback.Testing
gofmt -wbefore tests.cd server && timeout 40s go test ./model/pcdn ./service/pcdn ./task -run TestNope -count=1which completed (packages report[no test files]/ exited 0).cd server && timeout 40s go test ./task ./initialize -run TestNope -count=1where./taskcompleted (no test files) and./initializetimed out in the environment (exit124).go teston./service/pcdnwhich returned[no test files]and exited successfully.Codex Task