diff options
| author | Stan Hu <stanhu@gmail.com> | 2018-11-05 18:53:22 +0000 |
|---|---|---|
| committer | Stan Hu <stanhu@gmail.com> | 2018-11-05 18:53:22 +0000 |
| commit | d33dad88a143e7f0dc495cb5bff45a558d5d81d9 (patch) | |
| tree | a6c0dbb33237963e35f119363cfd3ff4694af892 /app | |
| parent | c6d4449f33b57a90d78b3f739ccecc5ab8588e96 (diff) | |
| parent | b47e666026c30dbfaa0012655bb01eb18d1c3a63 (diff) | |
| download | gitlab-ce-d33dad88a143e7f0dc495cb5bff45a558d5d81d9.tar.gz | |
Merge branch '48239-performance-info-ref' into 'master'
Performance tuning on Projects::GitHttpController#info_refs
Closes #48239
See merge request gitlab-org/gitlab-ce!22013
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/deploy_token.rb | 5 | ||||
| -rw-r--r-- | app/models/project.rb | 12 |
2 files changed, 7 insertions, 10 deletions
diff --git a/app/models/deploy_token.rb b/app/models/deploy_token.rb index 0b2eedf3631..e3524305346 100644 --- a/app/models/deploy_token.rb +++ b/app/models/deploy_token.rb @@ -4,6 +4,7 @@ class DeployToken < ActiveRecord::Base include Expirable include TokenAuthenticatable include PolicyActor + include Gitlab::Utils::StrongMemoize add_authentication_token_field :token AVAILABLE_SCOPES = %i(read_repository read_registry).freeze @@ -49,7 +50,9 @@ class DeployToken < ActiveRecord::Base # to a single project, later we're going to extend # that to be for multiple projects and namespaces. def project - projects.first + strong_memoize(:project) do + projects.first + end end def expires_at diff --git a/app/models/project.rb b/app/models/project.rb index 872bea46e7c..d3b148d0ac0 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -95,8 +95,7 @@ class Project < ActiveRecord::Base unless: :ci_cd_settings, if: proc { ProjectCiCdSetting.available? } - after_create :set_last_activity_at - after_create :set_last_repository_updated_at + after_create :set_timestamps_for_create after_update :update_forks_visibility_level before_destroy :remove_private_deploy_keys @@ -2103,13 +2102,8 @@ class Project < ActiveRecord::Base gitlab_shell.exists?(repository_storage, "#{disk_path}.git") end - # set last_activity_at to the same as created_at - def set_last_activity_at - update_column(:last_activity_at, self.created_at) - end - - def set_last_repository_updated_at - update_column(:last_repository_updated_at, self.created_at) + def set_timestamps_for_create + update_columns(last_activity_at: self.created_at, last_repository_updated_at: self.created_at) end def cross_namespace_reference?(from) |
