diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-08-12 18:21:47 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-08-12 18:21:47 +0300 |
commit | 7ecebdd02df9b11fa6ba4f8033dcfe097935ed66 (patch) | |
tree | a080ef380992f880b7b29714772152dc3ac71ed5 /app/observers | |
parent | e2f946fddb7caf9757b33ba3dc7de8634f4ee825 (diff) | |
download | gitlab-ce-7ecebdd02df9b11fa6ba4f8033dcfe097935ed66.tar.gz |
Repository import during project creation often return timeout for medium and large repos.
So lets do it async. First create project, then import repo and create
satellite with Sidekiq
Diffstat (limited to 'app/observers')
-rw-r--r-- | app/observers/project_observer.rb | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/app/observers/project_observer.rb b/app/observers/project_observer.rb index c1a4611536d..83c1795b185 100644 --- a/app/observers/project_observer.rb +++ b/app/observers/project_observer.rb @@ -1,13 +1,17 @@ class ProjectObserver < BaseObserver def after_create(project) - return true if project.forked? || project.imported? - - GitlabShellWorker.perform_async( - :add_repository, - project.path_with_namespace - ) - - log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"") + return true if project.forked? + + if project.import? + RepositoryImportWorker.perform_in(5.seconds, project.id) + else + GitlabShellWorker.perform_async( + :add_repository, + project.path_with_namespace + ) + + log_info("#{project.owner.name} created a new project \"#{project.name_with_namespace}\"") + end end def after_update(project) |