このコードでは、 はlastDateを配列に保存し、startDateとendDate属性値を自動的にインクリメントするために使用しますが、flowfileは生成されません。 私はそれを修正しようとしましたが、私は何を変更する必要がありますflofwileを作成することはできません?Nifi:executeScriptプロセッサのコードが正しく動作しない
var OutputStreamCallback = Java.type("org.apache.nifi.processor.io.OutputStreamCallback");
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
Date.prototype.isValid = function() {
return (Object.prototype.toString.call(this) === "[object Date]")
&& !isNaN(this.getTime());
};
var toDate = endDate.getValue(),
parameter1=parameter.getValue(),
count1=count.getValue();
function addDays(date, days) {
var result =new Date(date);
result.setDate(result.getDate() + days);
return formatDate(result);
}
function formatDate(date) {
var d = new Date(date),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
return [year, month, day].join('-');
}
var flowFile = session.create();
if(flowFile==null) {
var param = 8;
//count = Number(count1);
//var item = item + count1;
var endDate1 = addDays(toDate, param);
var startDate = toDate;
var arr = [];
arr.push(endDate1);
}
if(arr.length>1){
startDate1=arr.pop();
var endDate1 = addDays(startDate1, param);
var startDate = startDate1;
flowFile = session.putAttribute(flowFile, 'startDate', startDate1);
flowFile = session.putAttribute(flowFile, 'endDate', endDate1);
flowFile = session.putAttribute(flowFile, 'parameter', parameter);
}
else {
var param = 8;
var endDate1 = addDays(toDate, param);
var startDate = toDate;
flowFile = session.putAttribute(flowFile, 'count', 1);
flowFile = session.putAttribute(flowFile, 'startDate', startDate);
flowFile = session.putAttribute(flowFile, 'endDate', endDate1);
flowFile = session.putAttribute(flowFile, 'parameter', parameter1);
}
session.transfer(flowFile, REL_SUCCESS);
**それは例外をトロウないが、** flowfileすぎ
- をしない私は(flowfile == null)の新規flowfile intialized cretedにするを追加する必要がありますか?
- 私のコードをより永続的かつ高速にするために何かをお勧めしますか?