Ich stoße auf ein sehr seltsames Problem. Ich habe einen R-Code, der keine print-Anweisung enthält (außer meinen expliziten Aufrufen, um die Zeit zu protokollieren) und trotzdem wird der gesamte JSON auf die "R-Konsole" übertragen. Dies verursacht ein schwerwiegendes Leistungsproblem mit unserem Modul und ich brauche Ihre Hilfe, um das Problem aufzuspüren.Stoppen von RServe Drucken von JSON auf der Konsole
Hier nur ein Teil der R-Datei ist (aufgrund der Unternehmenspolitik, kann ich nicht den gesamten Quellcode schreiben und ich entschuldige mich für nicht viele Informationen geben)
#run time/online time series models
LAST_TIME_ID <- DATA[nrow(DATA),id];
LAST_TIME_ID <- strptime(LAST_TIME_ID,format="%d-%m-%Y %H:%M");
#timestamp tag computation using frequency
FREQUENCY_VEC <- rep(TIMESTAMP_FREQUENCY*60,PREDICTION_NUMBER);
FREQUENCY_VEC <- cumsum(FREQUENCY_VEC);
TIMESTAMP_TAGS <- LAST_TIME_ID + FREQUENCY_VEC;
TIMESTAMP_TAGS <- format(strptime(TIMESTAMP_TAGS,format="%Y-%m-%d %H:%M"),format="%d-%m-%Y %H:%M");
#prepare the prediction points data per tag into table format
PREDICTION_DATA <- NULL;
startTime <- Sys.time();
for (tag_index in 1:length(MODEL[,tag_id])) {
TEMP <- data.table(id=as.character(TIMESTAMP_TAGS),tag_id = MODEL[tag_index,tag_id], prediction = as.vector(MODEL[,Forecast][[tag_index]]));
PREDICTION_DATA <- data.table(rbind(PREDICTION_DATA,TEMP));
rm(TEMP);
};
endTime <- Sys.time();
print(paste("seconds consumed (prediction points data per tag into TEMP): ",(endTime-startTime)/1000));
#OUTPUT <- dcast(PREDICTION_DATA,id~tag_id); #into output
OUTPUT <- PREDICTION_DATA;
#compute final output in json format
js_object <- toJSON(OUTPUT,asIs = TRUE);
js_object;
kann ich Ihnen den Rest des Codes sicherzustellen, sieht gleich aus (dh keine Drucke). Ich verwende meinen R-Code über Java (1.8) unter Verwendung von RServe (REngine.jar) unter Windows 8.
Alle Ideen/Hinweise würden sehr geschätzt werden.
Bethany, Brijesh - Danke für Ihre Eingaben. Wie auch immer, ich habe versucht, die letzte Zeile zu entfernen ... und habe einfach nur an jSON geschrieben (OUTPUT, asIs = TRUE); als letzte Zeile und es druckt immer noch den JSON. Meine Entschuldigung ... Ich habe vergessen zu erwähnen, dass wir RServe_d.exe ausgeführt haben, der den Server im Debug-Modus laufen lässt. Die Ausgabe verschwindet, wenn wir RServe.exe anstelle von RServe_d.exe ausführen. Allerdings denke ich immer noch, dass das Drucken von JSON standardmäßig ein Problem ist. Fehle ich etwas? – devak23
BTW ... Ich muss die JSON-Ausgabe meiner Analyse zurück an den Webservice senden ... – devak23
Um Ihre Frage zu beantworten, sollte man wissen, wie Ihr Web-Service die R-Datei aufruft. Bitte laden Sie relevante Teile, wenn möglich, hoch. – brijs