~edwargix/git.sr.ht

fb3f415734336e5f7940dac86446ad0e5825c025 — Adnan Maolood 2 years ago 47ec852
api/clones: Unset clone_in_progress on panic
1 files changed, 4 insertions(+), 0 deletions(-)

M api/clones/middleware.go
M api/clones/middleware.go => api/clones/middleware.go +4 -0
@@ 44,6 44,7 @@ func Schedule(ctx context.Context, repoID int, repo *git.Repository, cloneURL st
	}
	task := work.NewTask(func(ctx context.Context) error {
		defer func() {
			recovered := recover()
			err := database.WithTx(ctx, nil, func(tx *sql.Tx) error {
				_, err := tx.Exec(
					`UPDATE repository SET clone_in_progress = false WHERE id = $1;`,


@@ 57,6 58,9 @@ func Schedule(ctx context.Context, repoID int, repo *git.Repository, cloneURL st
			if err != nil {
				panic(err)
			}
			if recovered != nil {
				panic(recovered)
			}
		}()
		cloneCtx, cancel := context.WithTimeout(ctx, 10*time.Minute)
		defer cancel()