nodejs שמירת נתונים לבסיס נתונים לפני אתחול השרת
-
-
@יוסף-בן-שמעון אמר בnodejs שמירת נתונים לבסיס נתונים לפני אתחול השרת:
https://stackoverflow.com/questions/14031763/doing-a-cleanup-action-just-before-node-js-exits
הבעיה שהייתה לי שם שזה ביטל את הכיבוי לחלוטין והיו צריכים להשמיד את התהליך בכדי לעצור אותו לגמרי.
כעת נכנסתי לזה שוב ועשיתי פטנט פשוט, שלאחר ביצוע השמירה הנדרשת, אני מסיר את האירוע מהכיבוי ואז אני מכבה פשוט.
ב"ה עובד חלק.
בכל אתחול של השרת אני קורא את הנתונים השמורים, ורק בעת כיבוי אני שומר בכדי לשחזר אותם להפעלה החוזרת.
להלן הקוד[`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `uncaughtException`, `SIGTERM`].forEach((eventType) => { process.on(eventType, (eventType) => { let data = JSON.stringify(myData.ActiveCalls); fs.writeFile(ActiveCallsFile, data, function (err) { if (err) { console.log('There has been an error saving your configuration data.'); console.log(err.message); // return; } process.removeAllListeners('exit'); process.exit(); }); }); })ולהלן הקוד בתחילת הקובץ עבור האתחול
let ActiveCallsFile = './projects/bs/ActiveCalls.json'; try { let loadData = fs.readFileSync(ActiveCallsFile); myData.ActiveCalls = JSON.parse(loadData); } catch (err) { }
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות