Ich habe eine sehr einfache Anwendung in Node/Express, die, sobald ein Benutzer eine Verbindung herstellt, ein http zu einem anderen Server führt, einige Berechnungen für die empfangenen Daten und reagiert auf den Benutzer.Knoten js - Sitzungsobjekt
Jetzt, da die Daten fließen Server-zu-Server und die Berechnung erforderlich sind der Flaschenhals dieses Flusses, ich möchte nicht diesen Job für jeden Benutzer wiederholen, der eine Verbindung zu meiner App herstellt.
Gibt es eine Möglichkeit, diese http-Anfrage und ihre sukzessive Berechnung nur für den ersten Benutzer durchzuführen und diese dann für jeden folgenden Benutzer wiederzuverwenden?
einige Code
var app = null;
router.get('/ask', function(req, res, next) {
...
dbService.select('apps',appId).then(function(data,err, header){
app = data.rows[0].doc;
app.a1.forEach(function(item, index){
app.a1[index]['nameSpellchecker'] = new natural.Spellcheck(item.synonyms);
});
app.a1.forEach(function(item, index){
app.a2[index]['nameSpellchecker'] = new natural.Spellcheck(item.synonyms);
});
...
res.status(200).send(JSON.stringify(response));
})
im Grunde will ich halten, was ist das App-Objekt
Dank, Loris
können Sie Ihren Code teilen? – ninesalt
Wie viele gleichzeitige Benutzer versuchen Sie ebenfalls zu erreichen? Auf welche Art von Berechnung der Benutzer wartet, sind zeitkritische Informationen, z. B. können sich 4 gleichzeitige Benutzer mit Ihrem Server verbinden. Unter der Annahme, dass eine Warteschlange vorhanden ist Benutzer1, Benutzer2, Benutzer3, Benutzer4, erfolgt die Berechnung nur für Benutzer1 und wenn das Ergebnis der Berechnung zwischen Benutzer2, Benutzer3, Benutzer4 geteilt wird. Wird das den anderen Benutzern keine veralteten Daten geben? – Raj
Let's Info sind nicht zeitsensibel, ich werde das später ansprechen ... Ich habe Somenthing hier interessant gefunden https://StackOverflow.com/Questions/19925857/Global-Scope-for-Every-Request-in-Nodejs-express Ich möchte Objs zwischen Anfragen nicht Modulen teilen ... Danke Jungs! – user2428183