אני באמצע פרויקט שירוץ בעז״ה על docker
העניין הוא שאני רוצה לערוך שינויים באמצע דרך אתר חיצוני.
אז זה מתחלק לשניים.
- פרטים שלא משתנים כמעט (כמו מספר מערכת וסיסמה בימות המשיח שממנו אני מוציא את השיחות, וכן הגדרות מערכת שכמעט ולא משתנות.)
- פרטים שעשויים להתעדכן בתדירות גבוהה יותר (כגון רשימת הערים שיכולות להצטרף לפרויקט, השעות בהם זה ״לילה״ ואני לא שולח שם צינתוק, או שעות שזה שבת, ואני לא שולח )
העניין הוא שכשמעדכנים את זה, זה חייב להשתנות בקוד באותו רגע.
חשבתי על 3 פתרונות ואשמח לדעת מה עדיף.
- שמירה במסד נתונים , וכל פעם לעשות קריאה מחדש (מאות/אלפי קריאות ביום לsqlite)
2 קובץ .env ששם להכניס את הכל, ולקרוא לו כל פעם , ואותו לערוך (כמו המסד נתונים רק בקובץ שזה קריאה יותר זריזה, ופחות כבדה.)
3 מסד נתונים/ קובץ, אבל לא לקרוא להם כל פעם, אלא בתחילת הקוד לאתחל את המשתנים, ואם יש שינוי, אני יקריס את הדוקר, ויעלה אותו שוב.
הפרויקט מריץ flask, ולכן אם אני טוען מראש משהו מלפני שמתחיל האפליקציה של flask עצמה, הוא לא יטען אותו בכל ריצה מחדש אלא רק באיתחול.
נראה לי ש 2 בכל מקרה עדיף על 1 כי זה פחות עומס על השרת.
אבל בין 2 ל 3 אני מתלבט כי זה פשוט להקריס דברים, ולא נשמע לי שזה הדרך מצד שני זה בלי קריאות בכלל חוץ מבעת עדכון.
אולי צריך לשלב את שתי הצורות בין הדברים שכמעט ולא מתעדכנים לבין הדברים שמתעדכנים יותר הרבה פעמים?
לכל דרך יש פה מעלות וחסרונות, אשמח לשמוע מה עדיף.
או שבכלל יש דרך 4 שחברי הפורום יוכלו להחכים אותי בה?
הקוד כתוב בפייתון. והמסד נתונים הוא sqlite