From 9d12b369784bc4c31873cbb7bea09055ba38865b Mon Sep 17 00:00:00 2001 From: Adnan Maolood Date: Tue, 15 Feb 2022 07:07:42 -0500 Subject: [PATCH] api/graph/repos: Rename from clones --- api/graph/schema.resolvers.go | 4 ++-- api/{clones => repos}/middleware.go | 24 ++++++++---------------- api/server.go | 9 +++++---- 3 files changed, 15 insertions(+), 22 deletions(-) rename api/{clones => repos}/middleware.go (69%) diff --git a/api/graph/schema.resolvers.go b/api/graph/schema.resolvers.go index fb33044..0008e03 100644 --- a/api/graph/schema.resolvers.go +++ b/api/graph/schema.resolvers.go @@ -28,10 +28,10 @@ import ( "git.sr.ht/~sircmpwn/core-go/server" "git.sr.ht/~sircmpwn/core-go/valid" corewebhooks "git.sr.ht/~sircmpwn/core-go/webhooks" - "git.sr.ht/~sircmpwn/git.sr.ht/api/clones" "git.sr.ht/~sircmpwn/git.sr.ht/api/graph/api" "git.sr.ht/~sircmpwn/git.sr.ht/api/graph/model" "git.sr.ht/~sircmpwn/git.sr.ht/api/loaders" + "git.sr.ht/~sircmpwn/git.sr.ht/api/repos" "git.sr.ht/~sircmpwn/git.sr.ht/api/webhooks" "github.com/99designs/gqlgen/graphql" sq "github.com/Masterminds/squirrel" @@ -228,7 +228,7 @@ func (r *mutationResolver) CreateRepository(ctx context.Context, name string, vi cloneURL = &repo.Path } - clones.Schedule(ctx, repo.ID, gitrepo, *cloneURL) + repos.Clone(ctx, repo.ID, gitrepo, *cloneURL) } webhooks.DeliverRepoEvent(ctx, model.WebhookEventRepoCreated, &repo) diff --git a/api/clones/middleware.go b/api/repos/middleware.go similarity index 69% rename from api/clones/middleware.go rename to api/repos/middleware.go index 1076ce7..95a20e4 100644 --- a/api/clones/middleware.go +++ b/api/repos/middleware.go @@ -1,4 +1,4 @@ -package clones +package repos import ( "context" @@ -12,24 +12,16 @@ import ( "github.com/go-git/go-git/v5" ) -type ClonesQueue struct { - Queue *work.Queue -} - -func NewQueue() *ClonesQueue { - return &ClonesQueue{work.NewQueue("clones")} -} - type contextKey struct { name string } -var clonesCtxKey = &contextKey{"clones"} +var ctxKey = &contextKey{"repos"} -func Middleware(queue *ClonesQueue) func(next http.Handler) http.Handler { +func Middleware(queue *work.Queue) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - ctx := context.WithValue(r.Context(), clonesCtxKey, queue) + ctx := context.WithValue(r.Context(), ctxKey, queue) r = r.WithContext(ctx) next.ServeHTTP(w, r) }) @@ -37,10 +29,10 @@ func Middleware(queue *ClonesQueue) func(next http.Handler) http.Handler { } // Schedules a clone. -func Schedule(ctx context.Context, repoID int, repo *git.Repository, cloneURL string) { - queue, ok := ctx.Value(clonesCtxKey).(*ClonesQueue) +func Clone(ctx context.Context, repoID int, repo *git.Repository, cloneURL string) { + queue, ok := ctx.Value(ctxKey).(*work.Queue) if !ok { - panic("No clones worker for this context") + panic("No repos worker for this context") } task := work.NewTask(func(ctx context.Context) error { defer func() { @@ -74,6 +66,6 @@ func Schedule(ctx context.Context, repoID int, repo *git.Repository, cloneURL st } return nil }) - queue.Queue.Enqueue(task) + queue.Enqueue(task) log.Printf("Enqueued clone of %s", cloneURL) } diff --git a/api/server.go b/api/server.go index a99a05a..20a03d6 100644 --- a/api/server.go +++ b/api/server.go @@ -5,13 +5,14 @@ import ( "git.sr.ht/~sircmpwn/core-go/config" "git.sr.ht/~sircmpwn/core-go/server" + work "git.sr.ht/~sircmpwn/dowork" "github.com/99designs/gqlgen/graphql" - "git.sr.ht/~sircmpwn/git.sr.ht/api/clones" "git.sr.ht/~sircmpwn/git.sr.ht/api/graph" "git.sr.ht/~sircmpwn/git.sr.ht/api/graph/api" "git.sr.ht/~sircmpwn/git.sr.ht/api/graph/model" "git.sr.ht/~sircmpwn/git.sr.ht/api/loaders" + "git.sr.ht/~sircmpwn/git.sr.ht/api/repos" "git.sr.ht/~sircmpwn/git.sr.ht/api/webhooks" ) @@ -31,7 +32,7 @@ func main() { scopes[i] = s.String() } - clonesQueue := clones.NewQueue() + reposQueue := work.NewQueue("repos") webhookQueue := webhooks.NewQueue(schema) legacyWebhooks := webhooks.NewLegacyQueue() @@ -39,11 +40,11 @@ func main() { WithDefaultMiddleware(). WithMiddleware( loaders.Middleware, - clones.Middleware(clonesQueue), + repos.Middleware(reposQueue), webhooks.Middleware(webhookQueue), webhooks.LegacyMiddleware(legacyWebhooks), ). WithSchema(schema, scopes). - WithQueues(clonesQueue.Queue, webhookQueue.Queue, legacyWebhooks.Queue). + WithQueues(reposQueue, webhookQueue.Queue, legacyWebhooks.Queue). Run() } -- 2.38.4