[#360] remove mass build cached counters
This commit is contained in:
parent
c755ec6acb
commit
0e8f6321fb
|
@ -142,21 +142,6 @@ class BuildList < ActiveRecord::Base
|
||||||
|
|
||||||
state_machine :status, initial: :waiting_for_response do
|
state_machine :status, initial: :waiting_for_response do
|
||||||
|
|
||||||
# WTF? around_transition -> infinite loop
|
|
||||||
before_transition do |build_list, transition|
|
|
||||||
status = HUMAN_STATUSES[build_list.status]
|
|
||||||
if build_list.mass_build && MassBuild::COUNT_STATUSES.include?(status)
|
|
||||||
MassBuild.decrement_counter "#{status.to_s}_count", build_list.mass_build_id
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
after_transition do |build_list, transition|
|
|
||||||
status = HUMAN_STATUSES[build_list.status]
|
|
||||||
if build_list.mass_build && MassBuild::COUNT_STATUSES.include?(status)
|
|
||||||
MassBuild.increment_counter "#{status.to_s}_count", build_list.mass_build_id
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
after_transition(on: :place_build) do |build_list, transition|
|
after_transition(on: :place_build) do |build_list, transition|
|
||||||
build_list.add_job_to_abf_worker_queue if build_list.external_nodes.blank?
|
build_list.add_job_to_abf_worker_queue if build_list.external_nodes.blank?
|
||||||
end
|
end
|
||||||
|
|
|
@ -87,6 +87,12 @@ class MassBuild < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
later :publish_test_failed_builds, queue: :clone_build
|
later :publish_test_failed_builds, queue: :clone_build
|
||||||
|
|
||||||
|
COUNT_STATUSES.each do |stat|
|
||||||
|
define_method "#{stat}_count" do
|
||||||
|
build_lists.where(status: BuildList::HUMAN_STATUSES.key(stat)).count
|
||||||
|
end if stat != :build_lists
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def generate_list(status)
|
def generate_list(status)
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
%td.min_width_120
|
%td.min_width_120
|
||||||
- MassBuild::COUNT_STATUSES.each do |status|
|
- MassBuild::COUNT_STATUSES.each do |status|
|
||||||
= link_to t("layout.build_lists.statuses.#{status}") + ": ", build_lists_path(filter: {mass_build_id: mass_build.id, ownership: 'everything'}.merge(status != :build_lists ? {status: BuildList.status_by_human(status)} : {}))
|
= link_to t("layout.build_lists.statuses.#{status}") + ": ", build_lists_path(filter: {mass_build_id: mass_build.id, ownership: 'everything'}.merge(status != :build_lists ? {status: BuildList.status_by_human(status)} : {}))
|
||||||
= mass_build.read_attribute "#{status}_count"
|
= mass_build.send "#{status}_count"
|
||||||
.both
|
.both
|
||||||
-if mass_build.projects_list.present?
|
-if mass_build.projects_list.present?
|
||||||
=link_to_list @platform, mass_build, 'missed_projects_list'
|
=link_to_list @platform, mass_build, 'missed_projects_list'
|
||||||
= mass_build.read_attribute 'missed_projects_count'
|
= mass_build.send 'missed_projects_count'
|
||||||
%td
|
%td
|
||||||
- if mass_build.projects_list.present?
|
- if mass_build.projects_list.present?
|
||||||
= link_to_list @platform, mass_build, 'projects_list'
|
= link_to_list @platform, mass_build, 'projects_list'
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddMassBuildIndexToBuildList < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_index :build_lists, [:mass_build_id, :status]
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,21 @@
|
||||||
|
class RemoveCountersFromMassBuild < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
remove_columns :mass_builds, :build_published_count,
|
||||||
|
:build_pending_count,
|
||||||
|
:build_started_count,
|
||||||
|
:build_publish_count,
|
||||||
|
:build_error_count,
|
||||||
|
:success_count,
|
||||||
|
:build_canceled_count
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
add_column :mass_builds, :build_published_count, :integer, default: 0
|
||||||
|
add_column :mass_builds, :build_pending_count, :integer, default: 0
|
||||||
|
add_column :mass_builds, :build_started_count, :integer, default: 0
|
||||||
|
add_column :mass_builds, :build_publish_count, :integer, default: 0
|
||||||
|
add_column :mass_builds, :build_error_count, :integer, default: 0
|
||||||
|
add_column :mass_builds, :success_count, :integer, default: 0
|
||||||
|
add_column :mass_builds, :build_canceled_count, :integer, default: 0
|
||||||
|
end
|
||||||
|
end
|
10
db/schema.rb
10
db/schema.rb
|
@ -11,7 +11,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended to check this file into your version control system.
|
# It's strongly recommended to check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(:version => 20140219191644) do
|
ActiveRecord::Schema.define(:version => 20140224134012) do
|
||||||
|
|
||||||
create_table "activity_feeds", :force => true do |t|
|
create_table "activity_feeds", :force => true do |t|
|
||||||
t.integer "user_id", :null => false
|
t.integer "user_id", :null => false
|
||||||
|
@ -149,6 +149,7 @@ ActiveRecord::Schema.define(:version => 20140219191644) do
|
||||||
add_index "build_lists", ["advisory_id"], :name => "index_build_lists_on_advisory_id"
|
add_index "build_lists", ["advisory_id"], :name => "index_build_lists_on_advisory_id"
|
||||||
add_index "build_lists", ["arch_id"], :name => "index_build_lists_on_arch_id"
|
add_index "build_lists", ["arch_id"], :name => "index_build_lists_on_arch_id"
|
||||||
add_index "build_lists", ["project_id", "save_to_repository_id", "build_for_platform_id", "arch_id"], :name => "maintainer_search_index"
|
add_index "build_lists", ["project_id", "save_to_repository_id", "build_for_platform_id", "arch_id"], :name => "maintainer_search_index"
|
||||||
|
add_index "build_lists", ["mass_build_id", "status"], :name => "index_build_lists_on_mass_build_id_and_status"
|
||||||
add_index "build_lists", ["project_id"], :name => "index_build_lists_on_project_id"
|
add_index "build_lists", ["project_id"], :name => "index_build_lists_on_project_id"
|
||||||
|
|
||||||
create_table "comments", :force => true do |t|
|
create_table "comments", :force => true do |t|
|
||||||
|
@ -285,18 +286,11 @@ ActiveRecord::Schema.define(:version => 20140219191644) do
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
t.boolean "auto_publish", :default => false, :null => false
|
t.boolean "auto_publish", :default => false, :null => false
|
||||||
t.integer "build_lists_count", :default => 0, :null => false
|
t.integer "build_lists_count", :default => 0, :null => false
|
||||||
t.integer "build_published_count", :default => 0, :null => false
|
|
||||||
t.integer "build_pending_count", :default => 0, :null => false
|
|
||||||
t.integer "build_started_count", :default => 0, :null => false
|
|
||||||
t.integer "build_publish_count", :default => 0, :null => false
|
|
||||||
t.integer "build_error_count", :default => 0, :null => false
|
|
||||||
t.boolean "stop_build", :default => false, :null => false
|
t.boolean "stop_build", :default => false, :null => false
|
||||||
t.text "projects_list"
|
t.text "projects_list"
|
||||||
t.integer "missed_projects_count", :default => 0, :null => false
|
t.integer "missed_projects_count", :default => 0, :null => false
|
||||||
t.text "missed_projects_list"
|
t.text "missed_projects_list"
|
||||||
t.boolean "new_core", :default => true
|
t.boolean "new_core", :default => true
|
||||||
t.integer "success_count", :default => 0, :null => false
|
|
||||||
t.integer "build_canceled_count", :default => 0, :null => false
|
|
||||||
t.integer "save_to_platform_id", :null => false
|
t.integer "save_to_platform_id", :null => false
|
||||||
t.text "extra_repositories"
|
t.text "extra_repositories"
|
||||||
t.text "extra_build_lists"
|
t.text "extra_build_lists"
|
||||||
|
|
Loading…
Reference in New Issue