TT#43813 panel: fixes and improvements

* build: don't fail if no builds on done property
* fix progress stats on panel_uuid
* stop sending queries if release is done

Change-Id: I4fb4c6c161a852bb8f5ee978cec053d98e38a1f8
changes/87/38487/2
Victor Seva 6 years ago
parent e6a6f46e26
commit 2a448a089e

@ -113,6 +113,8 @@ class BuildRelease(models.Model):
@property @property
def done(self): def done(self):
if self.built_projects is None:
return False
built_len = len(self.built_projects) built_len = len(self.built_projects)
return built_len == self.release_jobs_len + 1 + len(self.projects) return built_len == self.release_jobs_len + 1 + len(self.projects)

@ -65,7 +65,7 @@ function update_stats_progress() {
var total = $.release.projects.size; var total = $.release.projects.size;
if ( $.release.uuid ) { if ( $.release.uuid ) {
total += $.release.stats.queued.size; total = parseInt( $( "#stats-total" ).text(), 10 );
} }
for ( var label of labels ) { for ( var label of labels ) {

@ -174,6 +174,18 @@ function is_project_done( project ) {
} }
function is_done() {
var success = parseInt( $( "#stats-success" ).text(), 10 );
var failed = parseInt( $( "#stats-danger" ).text(), 10 );
var queued = parseInt( $( "#stats-queued" ).text(), 10 );
var building = parseInt( $( "#stats-created" ).text(), 10 );
if ( failed === 0 && queued === 0 && building === 0 && success > 0 ) {
return true;
}
return false;
}
function is_stuck() { function is_stuck() {
var success = parseInt( $( "#stats-success" ).text(), 10 ); var success = parseInt( $( "#stats-success" ).text(), 10 );
var failed = parseInt( $( "#stats-danger" ).text(), 10 ); var failed = parseInt( $( "#stats-danger" ).text(), 10 );
@ -199,7 +211,12 @@ function update_release_info( release ) {
get_uuids_for_project( release, project ); get_uuids_for_project( release, project );
} }
} }
if ( is_stuck() ) { if ( is_done() ) {
clearInterval( $.release.timer );
clearInterval( $.release.update_info_timer );
$( "#update-info-all" ).addClass( "hidden" );
$( "#resume" ).prop( "disabled", true );
} else if ( is_stuck() ) {
$( "#resume" ).prop( "disabled", false ); $( "#resume" ).prop( "disabled", false );
} }
} }

@ -1,6 +1,8 @@
<div class="panel-heading"> <div class="panel-heading">
<span class="panel-title">Statistics</span> <span class="panel-title">Statistics</span>
<div class="pull-right">next info refresh in <span class="badge" id="update-info">0</span> seconds</div> <div id="update-info-all" class="pull-right">
next info refresh in <span class="badge" id="update-info">0</span> seconds
</div>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<div> <div>

@ -38,8 +38,10 @@ $( document ).ready(function() {
$.release.uuid = '{{ build_release.uuid }}'; $.release.uuid = '{{ build_release.uuid }}';
$.release.release_jobs_size = {{ release_jobs_size }}; $.release.release_jobs_size = {{ release_jobs_size }};
$.release.max_uuids = 1; $.release.max_uuids = 1;
$.release.interval = 30000; {% if build_release.done %}
update_release_info('{{ build_release.release }}'); $( "#update-info-all" ).addClass( "hidden" );
{% else %}
$.release.interval = 15000;
$( "#update-info" ).text($.release.interval/1000); $( "#update-info" ).text($.release.interval/1000);
$.release.timer = setInterval(function(){ $.release.timer = setInterval(function(){
update_release_info('{{ build_release.release }}'); update_release_info('{{ build_release.release }}');
@ -49,6 +51,7 @@ $( document ).ready(function() {
var step = parseInt($( "#update-info" ).text()); var step = parseInt($( "#update-info" ).text());
$( "#update-info" ).text(step - 1); $( "#update-info" ).text(step - 1);
}, 1000); }, 1000);
{% endif %}
set_stats_total('{{ total }}'); set_stats_total('{{ total }}');
{% for projectname in queued_projects %} {% for projectname in queued_projects %}
set_project_stats('{{ projectname }}', 'queued'); set_project_stats('{{ projectname }}', 'queued');
@ -72,6 +75,8 @@ create_new_release_job(values);
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
update_stats();
update_release_info('{{ build_release.release }}');
}); });
</script> </script>
{% endblock %} {% endblock %}

Loading…
Cancel
Save