אני מעלה אתר nodeJS express mySql לפרודקשן.
הserver אמור להיות מחובר לmySql db, הבעייה היא שכל משהו כמו 10 שעות השרת mySql סוגר את הקונקשן, ואז ב- nodeJS נזרקת שגיאה שמפילה לי את השרת.
בניתי את זה בצורה שהחיבור לmySql מתבצע עם העלייה של השרת ונשאר פתוח ואז בכל request שמתקבל מהלקוח התוכנה שולחת שאילתה ל-conection הפתוח.
השאלה אם זה נכון לעבוד כך, או שנכון יותר ליצור קונקשן נפרד בשביל כל request.
בעבר עבדתי עם PHP ושם הייתי צריך ליצור קונקשן על כל request בגלל שאני לא ניהלתי את השרת.
אבל ב-nodeJS שאני מקים את השרת חשבתי שיותר נכון ליצור קונקשן אחד שישרת את כל ה-requests.
הי @yosef
באיזה ספריה אתה משתמש כדי להתחבר לבסיס הנתונים? בגדול ובדרך כלל כדאי לשמור על connection פתוח אבל אם הוא נסגר לזהות את זה ולפתוח חדש.
משתמש בספריית mysql.
רציתי לדעת עם זה נכון ליצור connection ולהשאיר אותו פתוח לכל הריקווסטים
תודה
הי,
ב mysql יש קונספט של connection pool שמנהל בשבילך את כל הנושא של חיבורים וניתוקים, לדוגמא (מהדף גיטהאב שלהם):
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'example.org',
user : 'bob',
password : 'secret',
database : 'my_db'
});
pool.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
זה מה שניסית?
תודה רבה
עזרת לי מאוד
לייק 1