diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-12-17 12:16:54 +0800 |
---|---|---|
committer | techknowlogick <techknowlogick@gitea.io> | 2019-12-16 23:16:54 -0500 |
commit | ffc904b1e0635d17e55b5fbdea4e18832ee2276d (patch) | |
tree | 209691d128fb2e23476e0b1ac67c51c6f5b693de /modules/migrations/migrate.go | |
parent | d1a49977b089afefc40172711d02eb795d2234de (diff) | |
download | gitea-ffc904b1e0635d17e55b5fbdea4e18832ee2276d.tar.gz gitea-ffc904b1e0635d17e55b5fbdea4e18832ee2276d.zip |
Sleep longer if request speed is over github limitation (#9335)
* Sleep longer if request speed is over github limitation
* improve code
* remove unused code
* fix lint
* Use github's rate limit remain value to determine how long to sleep
* Save reset time when finished github api request
* fix bug
* fix lint
* Add context.Context for sleep
* fix test
* improve code
* fix bug and lint
* fix import order
Diffstat (limited to 'modules/migrations/migrate.go')
-rw-r--r-- | modules/migrations/migrate.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/migrations/migrate.go b/modules/migrations/migrate.go index 957d4c85d0..ece871a857 100644 --- a/modules/migrations/migrate.go +++ b/modules/migrations/migrate.go @@ -6,6 +6,7 @@ package migrations import ( + "context" "fmt" "code.gitea.io/gitea/models" @@ -28,10 +29,10 @@ func RegisterDownloaderFactory(factory base.DownloaderFactory) { } // MigrateRepository migrate repository according MigrateOptions -func MigrateRepository(doer *models.User, ownerName string, opts base.MigrateOptions) (*models.Repository, error) { +func MigrateRepository(ctx context.Context, doer *models.User, ownerName string, opts base.MigrateOptions) (*models.Repository, error) { var ( downloader base.Downloader - uploader = NewGiteaLocalUploader(doer, ownerName, opts.RepoName) + uploader = NewGiteaLocalUploader(ctx, doer, ownerName, opts.RepoName) theFactory base.DownloaderFactory ) @@ -69,6 +70,8 @@ func MigrateRepository(doer *models.User, ownerName string, opts base.MigrateOpt downloader = base.NewRetryDownloader(downloader, setting.Migrations.MaxAttempts, setting.Migrations.RetryBackoff) } + downloader.SetContext(ctx) + if err := migrateRepository(downloader, uploader, opts); err != nil { if err1 := uploader.Rollback(); err1 != nil { log.Error("rollback failed: %v", err1) |