בעניין איתחול ועדכון שרת HTTP
-
למיטב ידעתי שינוי בקוד של צד השרת מחייב ריסטרט הן בנוד והן בדוטנט (דוקא בPHP לא צריך).
גם אם אפשר תיאורטית להתגבר על זה זה אומר קוד לא יעיל ומסובך לחינם.
.
ייתכן שהשינוי שההוא עשה היה בקבצים סטטיים.
או שאתה לא הבנת והוא כן עשה ריסטרט (זה לוקח שניה, וזה נעשה אוטומטית במידה וזה נעשה ע"י WebDeploy, אבל העלאות ייתקעו למיטב ידעתי). -
בPHP זה מיידי.
בשאר בד"כ צריך ריסטארט.בדוטנט זה מתחלק ל2.
- אם זה פרוייקט מסוג website אז בשנייה ששמרת /החלפת את הקובץ בחדש, הקריאה הבאה לדף תביא את הקוד המעודכן ולא צריך לעשות כלום (@מנצפך זה כנראה מה שראית בעיניים)
- אם זה פרוייקט מסוג פרוייקט, שם אם עשית שינוי בקוד, אז הוא צריך build מחדש וזה עושה סוג של ריסטארט לשרת (אין צורך לעשות ריסטארט בIIS - הפרוייקט פשוט מתאפס)
גם בפרוייקט הזה, שינויים בקבצי ASPX או cshtml/vbhtml יחולו מיד עם השמירה או ההחלפה שלהם.
-
אפשר לעשות שייטען אוטומטית, אבל זה מפעיל שוב את כל האפליקציה.
הטבע של nodejs זה כמה קטעי קוד קצרים שרצים מיידית ומחכים לבקשות. שינוי בקטע הקוד שכבר רץ בטח שמחייב טעינה חוזרת, אלא"כ יכינו בתוך האפליקציה עצמה wathc לתיקיה, ויטענו את הקוד דינמית. זה אפשרי לגמרי ומיותר לגמרי. -
-
@מנצפך אמר בבעניין איתחול ועדכון שרת HTTP:
@dovid @אהרן
אני מבין שזה רק דואג לעניין הסשנים. לא עוזר לשאר העניינים (כמו העלאת קבצים או עיסקאות באמצע פעולה).
נכון?יש לך טעות בסיסית מתחילת השרשור. שסנים, בכל מקרה מוגנים, והם יהיו בדיוק איפה שהשארת אותם, אוקי? אלא"כ עשית MemoryStore שרק אז יש לך בעיה.
"עסקאות באמצע" זה מחולק לשתיים. הצד לקוח שהוא באמצע זה פשוט שסנים. אז אתה מכוסה. הבעיה זה צד שרת, אם למשל אתה כותב לDB שבוצע תשלום, ומחכה לקאלבק בשביל לעשות פעולה נוספת, אני לא חושב שיש דרך בעולם למנוע כשל בשלב הזה.
במערכות גדולות כנראה שמים פילטר כללי, שבמצב פיתוח עוצר את כל הבקשות. ואז לאחר דקה אפשר להיות בטוחים שאפשר לעשות ריסטרט תוך שמירת שסנים כמובן. -
@מנצפך אמר בבעניין איתחול ועדכון שרת HTTP:
עשיתי משהו בפרייוורק של sails שמבוסס express וכל הדברים הטובים והמוכרים.
הוא לא שומר את הסשנים, רק אם אני מגדיר הוא יכול לשמור (על DB כמו Redis למשל).נכון, https://sailsjs.com/documentation/concepts/sessions
הם עשו את זה בשביל קלות ההגדרה, אבל זה לא עסק לאתר ייצור. סשנים חייבים להיות שמורים על הדיסק, ככה אני חושב.
תוך דקה תה מגדיר שיישמר בDB או בקבצים.בקשר לקטיעת פעולות, אני חושב שבזה לASP NET יש פלוס, כי בWebDeploy הבנתי שיש מעבר חלק ללא שום כשל למעט העלאות, למיטב ידיעתי. באופן בו עובד nodejs לא חושב שאפשר בכלל לממש את זה.