Hab mal ne ganz einfache App mit Node.js erstellt, welche einfach nur Datensätze die mir per POST geschickt werden in eine Datenbank packen soll. An sich funktioniert alles, außer ich sende zu schnell hintereinander. Dann crasht die App einfach - wie löst man sowas?
var mysqlDB = require('mysql');
var exports = module.exports = {};
var con = mysqlDB.createConnection({ host: "localhost", user: "root", password: "", database: "test" });
con.connect(function(err) { if (err) throw err; console.log("Connected!"); });
exports.addnewItem = function (eventID,nutzerID,itemID){ var sql = "INSERT INTO inventar(eventID, nutzerID, itemID) VALUES ("+eventID+","+nutzerID+","+itemID+")";
con.query(sql, function (err, result) { if (err) throw err; console.log("1 record inserted"); });
}
und der Server
var app = require('express')();
var bodyParser = require('body-parser');
var mysql = require('./DatabaseConnection.js');
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/routes', require('./routes/routes'));
app.post("/", function (req, res) {
console.log(req.body); mysql.addNewItem(req.body.eventID,req.body.nutzerID,req.body.itemID);
res.send("THX!"); });
app.listen(3001, function(){
console.log('Server wartet auf Port 3001 auf Requests')
});
und der POST
curl \ -X POST \ --data "event=neuesItem&from=495&to=495&eventId=%random%%380000" \ http://localhost:3001