由于此网站上有Informatica问题,我不知道在哪里发布此内容。但目前,为了在Informatica中function widgetCallback(response) {
console.log("widgetCallback; response: " + JSON.stringify(response));
var chartData = jQuery.parseJSON(response);
//Some dummy values - delete later
var labels = chartData['chart1']['labels'];
var dataSet1Title = chartData['chart1']['dataTitle'];
var dataSet2Title = chartData['chart2']['dataTitle'];
var dataSet1Data = chartData['chart1']['data'];
var dataSet2Data = chartData['chart2']['data'];
Chart.types.Line.extend({
name: "Line2Y",
getScale: function (data) {
var startPoint = this.options.scaleFontSize;
var endPoint = this.chart.height - (this.options.scaleFontSize * 1.5) - 5;
return Chart.helpers.calculateScaleRange(
data,
endPoint - startPoint,
this.options.scaleFontSize,
this.options.scaleBeginAtZero,
this.options.scaleIntegersOnly,
this.options.scaleLabel);
},
initialize: function (data) {
var y2datasetLabels = [];
var y2data = [];
var y1data = [];
data.datasets.forEach(function (dataset, i) {
if (dataset.y2axis == true) {
y2datasetLabels.push(dataset.label);
y2data = y2data.concat(dataset.data);
} else {
y1data = y1data.concat(dataset.data);
}
});
// use the helper function to get the scale for both datasets
var y1Scale = this.getScale(y1data);
this.y2Scale = this.getScale(y2data);
var normalizingFactor = y1Scale.max / this.y2Scale.max;
// update y2 datasets
data.datasets.forEach(function (dataset) {
if (y2datasetLabels.indexOf(dataset.label) !== -1) {
dataset.data.forEach(function (e, j) {
dataset.data[j] = e * normalizingFactor;
})
}
})
// denormalize tooltip for y2 datasets
this.options.multiTooltipTemplate = function (d) {
if (y2datasetLabels.indexOf(d.datasetLabel) !== -1) return Math.round(d.value / normalizingFactor, 6);
else return d.value;
}
Chart.types.Line.prototype.initialize.apply(this, arguments);
},
draw: function () {
this.scale.xScalePaddingLeft = 60;
this.scale.xScalePaddingRight = this.scale.xScalePaddingLeft + 30;
Chart.types.Line.prototype.draw.apply(this, arguments);
this.chart.ctx.textAlign = "center";
this.chart.ctx.textBaseline = "bottom";
this.chart.ctx.fillStyle = "#666";
var ctx = this.chart.ctx;
ctx.save();
// position
var x = this.scale.xScalePaddingLeft * 0.4;
var y = this.chart.height / 2;
// change origin
ctx.translate(x, y)
// rotate text
ctx.rotate(-90 * Math.PI / 180);
ctx.fillText(this.datasets[0].label, 0, 0);
ctx.fillText(this.datasets[1].label, 0, this.chart.width - 60);
ctx.restore();
var yStep = (this.scale.endPoint - this.scale.startPoint) / this.y2Scale.steps
for (var i = 0, y = this.scale.endPoint, label = this.y2Scale.min;
i <= this.y2Scale.steps;
i++) {
this.chart.ctx.fillText(label, this.chart.width - this.scale.xScalePaddingRight + 20, y);
y -= yStep;
label += this.y2Scale.stepValue
}
}
});
var lineChartData1 = {
labels: labels,
datasets: [{
label: dataSet1Title,
fillColor: "rgba(0,255,0,0.5)",
strokeColor: "rgba(0,255,0,1)",
pointColor: "rgba(0,255,0,1)",
pointStrokeColor: "#fff",
data: dataSet1Data
}, {
label: dataSet2Title,
fillColor: "rgba(151,187,205,0.5)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
data: dataSet2Data,
y2axis: true
}]
}
var ctx = document.getElementById("chart").getContext("2d");
var myLine1 = new Chart(ctx).Line2Y(lineChartData1, {
scaleBeginAtZero: true,
scaleShowGridLines: false,
responsive: true,
scaleShowLabels: true,
showTooltips: true,
tooltipTemplate: "<%= datasetLabel %>: <%= value %>"
});
}
var response = '{"chart1":{"data":["826","748","76","58"],"labels":["10-08","10-09","10-10","10-11"],"labelTitle":"Date","dataTitle":"Uniques","title":"Uniques"},"chart2":{"data":["2018.00","2095.40","156.00","23.76"],"labels":["10-08","10-09","10-10","10-11"],"labelTitle":"Date","dataTitle":"Revenue","title":"Revenue"},"title":"Chart Title"}';
widgetCallback(response);
工作流程,我必须右键单击每个工作流程并手动选择中止:
鉴于我在任何时候都有几百个工作流程处于活动状态,然后abort
它们全部手动需要很长时间。
是否有程序化或预先定义的GUI允许一次中止所有工作流程?
答案 0 :(得分:0)
您可以转储Integration Service。这将中止所有工作流程。
否则,您需要创建一个脚本以使用pmcmd中止工作流。
答案 1 :(得分:0)
您可以列出文件中的所有工作流程名称(或使用存储库查询从存储库中获取工作流程列表),并将每个工作流程传递给下面的pmcmd命令,该命令将使用shell脚本自动中止它。
pmcmd abortworkflow -service informatica-integration-Service -d domain-name -u user-name -p password -f folder-name -w workflow-name
pmcmd aborttask -service informatica-integration-Service -d domain-name -u user-name -p password -f folder-name -w workflow-name task-name
如果您需要任何其他帮助,请与我们联系。