summaryrefslogtreecommitdiff
path: root/app/workers/repository_import_worker.rb
Commit message (Collapse)AuthorAgeFilesLines
* Periodically mark projects that are stuck in importing as failedJames Lopez2017-04-051-1/+3
| | | | | | Adds import jid to projects Refactor middleware to set custom expiration time via sidekiq options Add completed_jids option to sidekiq status and a few other changes
* Remove unused include from RepositoryImportWorkerDouglas Barbosa Alexandre2017-04-031-1/+0
|
* Re-organize queues to use for Sidekiqseparate-sidekiq-queuesYorick Peterse2016-10-211-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Dumping too many jobs in the same queue (e.g. the "default" queue) is a dangerous setup. Jobs that take a long time to process can effectively block any other work from being performed given there are enough of these jobs. Furthermore it becomes harder to monitor the jobs as a single queue could contain jobs for different workers. In such a setup the only reliable way of getting counts per job is to iterate over all jobs in a queue, which is a rather time consuming process. By using separate queues for various workers we have better control over throughput, we can add weight to queues, and we can monitor queues better. Some workers still use the same queue whenever their work is related. For example, the various CI pipeline workers use the same "pipeline" queue. This commit includes a Rails migration that moves Sidekiq jobs from the old queues to the new ones. This migration also takes care of doing the inverse if ever needed. This does require downtime as otherwise new jobs could be scheduled in the old queues after this migration completes. This commit also includes an RSpec test that blacklists the use of the "default" queue and ensures cron workers use the "cronjob" queue. Fixes gitlab-org/gitlab-ce#23370
* Does not halt the GitHub import process when an error occursDouglas Barbosa Alexandre2016-08-241-0/+2
|
* Tracking of custom eventscustom-events-trackingYorick Peterse2016-08-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GitLab Performance Monitoring is now able to track custom events not directly related to application performance. These events include the number of tags pushed, repositories created, builds registered, etc. The use of these events is to get a better overview of how a GitLab instance is used and how that may affect performance. For example, a large number of Git pushes may have a negative impact on the underlying storage engine. Events are stored in the "events" measurement and are not prefixed with "rails_" or "sidekiq_", this makes it easier to query events with the same name triggered from different parts of the application. All events being stored in the same measurement also makes it easier to downsample data. Currently the following events are tracked: * Creating repositories * Removing repositories * Changing the default branch of a repository * Pushing a new tag * Removing an existing tag * Pushing a commit (along with the branch being pushed to) * Pushing a new branch * Removing an existing branch * Importing a repository (along with the URL we're importing) * Forking a repository (along with the source/target path) * CI builds registered (and when no build could be found) * CI builds being updated * Rails and Sidekiq exceptions Fixes gitlab-org/gitlab-ce#13720
* Update repository_import_worker.rbJames Lopez2016-06-021-1/+1
|
* some refactoring and fixing specJames Lopez2016-06-021-2/+1
|
* Mask credentials from URL when import of project has failed.Rubén Dávila2016-05-181-1/+1
|
* Moved cache expiration code to Repository hooksYorick Peterse2016-02-231-1/+1
| | | | | This keeps all the cache expiration code in a single file/class instead of spreading it all across the codebase.
* Expire caches after forking/importing a repositoryYorick Peterse2016-02-171-0/+1
| | | | | | | | This ensures the caches for Repository#empty? and Repository#has_visible_content? are flushed after a repository has been imported or forked. Fixes gitlab-org/gitlab-ce#13505
* Extract Projects::ImportService service from RepositoryImportWorkerDouglas Barbosa Alexandre2016-01-251-39/+7
|
* Remove accidentally added line. #3598issue_3598Rubén Dávila2015-11-201-3/+0
| | | | It should exist in EE only.
* Remove unused variable in repository importDouwe Maan2015-11-181-1/+1
|
* Store and show reason why import failed.Douwe Maan2015-11-181-26/+41
|
* FogBugz project importJared Szechy2015-09-081-13/+22
|
* Remove user OAuth tokens stored in database for Bitbucket, GitHub, and GitLabStan Hu2015-08-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | and request them each session. Pass these tokens to the project import data. This prevents the need to encrypt these tokens and clear them in case they expire or get revoked. For example, if you deleted and re-created OAuth2 keys for Bitbucket, you would get an Error 500 with no way to recover: ``` Started GET "/import/bitbucket/status" for x.x.x.x at 2015-08-07 05:24:10 +0000 Processing by Import::BitbucketController#status as HTML Completed 500 Internal Server Error in 607ms (ActiveRecord: 2.3ms) NameError (uninitialized constant Import::BitbucketController::Unauthorized): app/controllers/import/bitbucket_controller.rb:77:in `rescue in go_to_bitbucket_for_permissions' app/controllers/import/bitbucket_controller.rb:74:in `go_to_bitbucket_for_permissions' app/controllers/import/bitbucket_controller.rb:86:in `bitbucket_unauthorized' ``` Closes #1871
* Revert "Merge branch 'revert-satellites' into 'master' "Dmitriy Zaporozhets2015-08-111-1/+0
| | | | | This reverts commit 5daf44b7c86e0e2641a902b1da8b01d91fa3dbfa, reversing changes made to 2f706fbd231cabe7a76a5d17ac44285aaaf8592c.
* Revert "Merge branch 'drop-satellites'"Dmitriy Zaporozhets2015-08-111-0/+1
| | | | | | | This reverts commit 957e849f41d96fa9778fcdd06792d2f0274b29ab, reversing changes made to 6b9dbe9f5a175a8162abf296367f561bab3eea1a. Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Merge branch 'master' into drop-satellitesDmitriy Zaporozhets2015-08-041-1/+1
|\ | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
| * Store commit count in project tableadvanced-cacheDmitriy Zaporozhets2015-07-171-1/+1
| | | | | | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* | Remove satellitesDmitriy Zaporozhets2015-07-151-1/+0
|/
* Allow projects to be imported from Google Code.Douwe Maan2015-04-031-0/+2
|
* Delete deploy key from Bitbucket after importing.Douwe Maan2015-02-241-18/+18
|
* Add Bitbucket importer.Douwe Maan2015-02-241-0/+2
|
* gitlab.com importer: refactorigValery Sizov2015-02-051-7/+7
|
* GitLab.com integration: refactoringValery Sizov2015-02-051-1/+1
|
* GitLab integration. ImporterValery Sizov2015-02-051-0/+2
|
* Github ImporterValery Sizov2015-01-101-1/+7
|
* Add parenthesis to function def with arguments.Ciro Santilli2014-10-031-1/+1
|
* Added update repository size to repository importCSchulz2014-06-111-1/+2
|
* Add retry feature to project importDmitriy Zaporozhets2014-03-121-2/+0
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Add project import state machineDmitriy Zaporozhets2014-03-121-2/+4
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Removed Project#discover_default_branch since it not needed any moreDmitriy Zaporozhets2013-11-081-1/+0
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Repository import during project creation often return timeout for medium ↵Dmitriy Zaporozhets2013-08-121-0/+22
and large repos. So lets do it async. First create project, then import repo and create satellite with Sidekiq