doc/development/import/principles_of_importer_design.md
Import::Clients::HTTP, which:
github, bitbucket, bitbucket_server. You can find a full list of import sources in Gitlab::ImportSources.id, iid, and type of objectGitlab::Import::ImportFailureService to aid in displaying errors in the UI.defer_on_database_health_signal to avoid saturating the database. However, at the time of writing, a known issue prevents us from using this.ParallelScheduling class.StuckProjectImportJobsWorker as being part of an import that is stuck and should be failed.
Gitlab::Import::RefreshImportJidWorker to avoid being terminated by StuckProjectImportJobsWorker. It may also need to raise its Sidekiq max_retries_after_interruption. Refer to the GitHub importer implementation.worker_resource_boundary :memory to place them on a shard with a two hour termination grace period. A long termination grace period is not a replacement for writing fast workers. Apdex SLO compliance can be monitored on the I&I team Grafana dashboard.StageMethods) and Advance Stage workers (which include Gitlab::Import::AdvanceStage) should have retries: 6 to make them more resilient to system interruptions. With exponential back-off, six retries spans approximately 20 minutes. Any higher retry holds up an import for too long.Importable module.importing?.importing value on the object under import.