mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge branch 'master' into dev
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,6 +1,7 @@
|
||||
|
||||
define(['plugin/charts/nvd3/common/config'], function(nvd3_config) {
|
||||
return $.extend(true, {}, nvd3_config, {
|
||||
define(['plugin/charts/forms/default'], function(config_default) {
|
||||
return $.extend(true, {}, config_default, {
|
||||
library : 'NVD3',
|
||||
tag : 'svg',
|
||||
title : 'Histogram',
|
||||
category : 'Data processing (requires \'charts\' tool from Toolshed)',
|
||||
execute : 'histogram',
|
||||
|
||||
+4
-3
@@ -1,6 +1,7 @@
|
||||
define(['plugin/charts/nvd3/common/config'], function(nvd3_config) {
|
||||
|
||||
return $.extend(true, {}, nvd3_config, {
|
||||
define(['plugin/charts/forms/default'], function(config_default) {
|
||||
return $.extend(true, {}, config_default, {
|
||||
library : 'NVD3',
|
||||
tag : 'svg',
|
||||
title : 'Discrete Histogram',
|
||||
category : 'Data processing (requires \'charts\' tool from Toolshed)',
|
||||
execute : 'histogramdiscrete',
|
||||
|
||||
@@ -211,7 +211,7 @@ return Backbone.View.extend({
|
||||
// add group model
|
||||
_addGroupModel: function() {
|
||||
var group = new Group({
|
||||
id : Utils.uuid()
|
||||
id : Utils.uid()
|
||||
});
|
||||
this.chart.groups.add(group);
|
||||
return group;
|
||||
@@ -260,7 +260,7 @@ return Backbone.View.extend({
|
||||
// reset
|
||||
_resetChart: function() {
|
||||
// reset chart details
|
||||
this.chart.set('id', Utils.uuid());
|
||||
this.chart.set('id', Utils.uid());
|
||||
this.chart.set('type', 'nvd3_bar');
|
||||
this.chart.set('dataset_id', this.app.options.config.dataset_id);
|
||||
this.chart.set('title', 'New Chart');
|
||||
|
||||
@@ -295,7 +295,7 @@ return Backbone.View.extend({
|
||||
_templateContainer: function(tag, width) {
|
||||
return '<div class="charts-viewport-container" style="width:' + width + '%;">' +
|
||||
'<div id="menu"/>' +
|
||||
'<' + tag + ' id="' + Utils.uuid() + '" class="charts-viewport-canvas">' +
|
||||
'<' + tag + ' id="' + Utils.uid() + '" class="charts-viewport-canvas">' +
|
||||
'</div>';
|
||||
}
|
||||
|
||||
|
||||
@@ -531,6 +531,16 @@ class Tool( object, Dictifiable ):
|
||||
|
||||
return any( map( output_is_dynamic_collection, self.outputs.values() ) )
|
||||
|
||||
@property
|
||||
def produces_collections_with_unknown_structure( self ):
|
||||
|
||||
def output_is_dynamic(output):
|
||||
if not output.collection:
|
||||
return False
|
||||
return output.dynamic_structure
|
||||
|
||||
return any( map( output_is_dynamic, self.outputs.values() ) )
|
||||
|
||||
def __get_job_tool_configuration(self, job_params=None):
|
||||
"""Generalized method for getting this tool's job configuration.
|
||||
|
||||
|
||||
@@ -33,6 +33,12 @@ BASIC_WORKFLOW_STEP_TYPES = [ None, "tool", "data_input", "data_collection_input
|
||||
def force_queue( trans, workflow ):
|
||||
# Default behavior is still to just schedule workflows completley right
|
||||
# away. This can be modified here in various ways.
|
||||
|
||||
# TODO: check for implicit connections - these should also force backgrounding
|
||||
# this would fix running Dan's data manager workflows via UI.
|
||||
# TODO: ensure state if populated before calling force_queue from old API
|
||||
# workflow endpoint so the has_module check below is unneeded and these
|
||||
# interesting workflows will work with the older endpoint.
|
||||
config = trans.app.config
|
||||
force_for_collection = config.force_beta_workflow_scheduled_for_collections
|
||||
force_min_steps = config.force_beta_workflow_scheduled_min_steps
|
||||
@@ -42,6 +48,10 @@ def force_queue( trans, workflow ):
|
||||
log.info("Workflow has many steps %d, backgrounding execution" % step_count)
|
||||
return True
|
||||
for step in workflow.steps:
|
||||
# State and module haven't been populated if workflow submitted via
|
||||
# the API. API requests for "interesting" workflows should use newer
|
||||
# endpoint that skips this check entirely - POST /api/workflows/<id>/invocations
|
||||
has_module = hasattr(step, "module")
|
||||
if step.type not in BASIC_WORKFLOW_STEP_TYPES:
|
||||
log.info("Found non-basic workflow step type - backgrounding execution")
|
||||
# Force all new beta modules types to be use force queueing of
|
||||
@@ -50,7 +60,9 @@ def force_queue( trans, workflow ):
|
||||
if step.type == "data_collection_input" and force_for_collection:
|
||||
log.info("Found collection input step - backgrounding execution")
|
||||
return True
|
||||
|
||||
if step.type == "tool" and has_module and step.module.tool.produces_collections_with_unknown_structure:
|
||||
log.info("Found dynamically structured output collection - backgrounding execution")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user