דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
צבי-שצ

צבי-ש

@צבי-ש
אודות
פוסטים
448
נושאים
41
שיתופים
0
קבוצות
0
עוקבים
4
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • תכנון טבלאות לפרוייקט
    צבי-שצ צבי-ש

    @dovid כתב בתכנון טבלאות לפרוייקט:

    הוא כותב שגם אחרי גיבוב זה קל לניחוש בגלל שהקלט קטן ומוגדר מאוד, זה בעיה רצינית

    אפשר לשמור מגובב מספר-שדירג_מספר-מדורג, ועם עמודה ליד מה הדירוג,
    זה יעבור האשינג והלוגיקה תהיה דומה, וזה יכפיל בהרבה את מספר האופציות שצריך לנחש (זה עדיין יהיה מוגבל, אבל טוב יותר משמעותית), אם חשוב לדעת כמה דירוגים יש לבן אדם מסויים (כמו שנכתב בהודעה של פותח השרשור), זה יסרבל את התהליך, כי יצטרכו לשמור את הנתון הזה בנפרד, ולעדכן אותו על כל שינוי עם שאילתה ייעודית, בגלל שלא יוכלו לעשות פשוט count על מספר עמודות מול הdb, כי לא נשמר שם מסודר המספר שאותו דירגו, (ואז יצטרכו ללכת כמו הלישנא בתרא שלו, בכל דירוג לעדכן את הפרטים)

    תכנות

  • תכנון טבלאות לפרוייקט
    צבי-שצ צבי-ש

    @eido כתב בתכנון טבלאות לפרוייקט:

    הדירוג צריך להיות אנונימי, אחרת לא ידרגו.

    מה שמשאיר אותנו עם מספר טלפון (שעליו יהיה הדירוג) והדירוג עצמו, מכיון שא"א להשאיר רק דירוג, כי אז הוא לא ישתקלל נכון עם דירוגים הבאים, צריך להשאיר את מספר המדרגים והדירוג הכולל כדי שיהיה אפשר להוסיף עליו את הדירוג החדש ולשקלל מחדש.

    אתה רוצה לאפשר לכל אדם להקיש כמה דירוגים שהוא רוצה על כל אחד?
    אם ראובן ירצה להתנכל לשמעון, הוא פשוט יתקשר 10 פעמים וידרג אותו 1, וזהו?

    אולי כדאי לשמור מי דירג ומתי, ולאפשר לו לדרג שוב רק בעוד חודש נגיד, או לאפשר לו לערוך את הדירוג ל2 אם הוא פתאום כן קיבל שירות וכדומה

    בשביל להשאיר את זה אנונימי אתה יכול או לשמור מספר ולא להציג אותו לאף אחד (אנונימי כלפי המאזינים, שלהם אין דרך לדעת מי דירג ומתי),
    או לשמור האשינג של מספר שדירג, ולבדוק האם יש לו דירוג קיים לפי ההאשינג, להשמיע לו את הדירוג הקיים ולאפשר לערוך, או אם לא קיים, להשאיר דירוג חדש
    ככה אתה גם לא יודע מי זה, אבל אתה יודע שx כבר היה או לא היה

    (האשינג היא פונקציה שלוקחת מחרוזת כלשהיא, ומוציאה מחרוזת אחרת, עם מספר כללים
    1 אי אפשר לחזור אחורה למחרוזת המקורית,
    2 כל קלט שתכניס, ייצא פלט אחר.

    או במקרה שלנו, אם תכניס לפונקציה 0521234567 אתה תקבל למשל אבגדהו,
    תשמור בdb ״אבגדהו״ דירג 5 את מספר פלאפון xyz,
    אבל אתה לעולם לא תוכל לחזור אחורה מ אבגדהו אל 0521234567,
    כשתרצה לבדוק האם הוא כבר דירג, ומה הדירוג שלו, תוכל להכניס שוב את 0521234567 אל הפונקציה, לקבל שוב את אבגדהו ועליו לבדוק בdb את הנתונים )

    תכנות

  • הפעלת תהליך נוד מחדש לקובץ ספציפי - הגיוני?
    צבי-שצ צבי-ש

    @ששא כתב בהפעלת תהליך נוד מחדש לקובץ ספציפי - הגיוני?:

    הספרייה עובדת שהוא שומר מידע על כל שיחה לפי מזהה השיחה שנשלח מימות, ולכן אם מפעילים מחדש אז כל המידע הזה נמחק ולכן השיחה מתחילה מחדש

    נכון, כי זה נשמר לקואלית, לא מורכב לשייך את כל הנתונים שיישמרו בredis או מסד חיצוני מהיר אחר, ולא יורגש כמעט ההבדל במהירות במהלך השיחה, וזה כן יישמור נתונים אחרי ריסטארט

    את מה שהוא הביא לך אני לא מכיר, אבל אם את עיקר הבעיה אתה יכול לפתור עם שמירה של הנתונים חיצונית, אז מה נשאר עוד?

    תכנות

  • הגדרת תנאים שונים שלא יזוהו כבוטים בקלאודפלר
    צבי-שצ צבי-ש

    @ששא כתב בהגדרת תנאים שונים שלא יזוהו כבוטים בקלאודפלר:

    (את ה UA אפשר לזייף)

    לא הבנתי

    user agnet הוא פרמטר שכל אחד מחליט מה למלאות שם, אי אפשר לסמוך על זה כאבטחה

    רשתות

  • וואו! מדהים! speedy ai -מפסיקים לחכות על הקו לנציגי שירות
    צבי-שצ צבי-ש

    https://www.speedyai.co.il/terms-of-service#terms-section

    4.2 המידע יישמר במאגרי החברה לפרק זמן שייקבע לפי שיקול דעתה, לצרכים תפעוליים, אבטחת מידע, שיפור השירות, או בהתאם לדרישות הדין. אין כל התחייבות למחיקת מידע באופן אוטומטי או להפיכתו לאנונימי.

    צרכנות

  • ימות המשיח השמעת הודעת קמפיין בכניסה לשלוחת API - מי מכיר?
    צבי-שצ צבי-ש

    לא מוצא כרגע את התיעוד של שמיעת הודעת קמפיין כשלוחה רגילה
    אבל השמעה עם api זה לכאורה זה ${templateId}.wav
    אם לא עובד אנסה לבדוק לעומק

    תכנות

  • ימות המשיח השמעת הודעת קמפיין בכניסה לשלוחת API - מי מכיר?
    צבי-שצ צבי-ש

    אתה יכול בapi עצמו להשמיע את ההקלטה של הקמפיין,
    אתה יכול לעשות שלוחת ביניים שתשמיע את ההקטה, ואז תעביר אל השלוחת api

    תכנות

  • פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר
    צבי-שצ צבי-ש

    תאר לעצמך שעוד שבועיים אתה צריך לתת גישה למתכנת לקוד/ לשרת, והוא ירצה להריץ לוקאלית את המערכת, למה שיריץ הכל, וישים env לכל הפרויקטים, והגדרות ניתוב דומיינים להכל, כשהוא צריך רק פרויקט אחד קטן של תזמון משימות?

    אם יש לך חלק בפרויקט שאחראי על שלוחת api בקו, וברוך השם יש שם עומס עם מאות מאזינים בו זמנית, אתה תרצה להיות יכול לשכפל רק את החלק הזה, עם מאזן עומסים, ולא את כל הפרויקט כולו ולהסתבך עם זה

    אם אחד מהם נופל מקריסה, למה שכולם ייפלו?
    אם אתה רוצה לבדוק כמה זיכרון / עיבוד וכדומה צורך כל קונטיינר, זה פשוט יותר,
    אם אתה רוצה לעדכן קוד בחלק אחד, למה לעשות בניה מחדש ולהפיל אותם לכמה שניות כשאפשר רק אותו

    תכנות

  • מיקום קבצי nodejs בשרת
    צבי-שצ צבי-ש

    @eido כתב במיקום קבצי nodejs בשרת:

    @צבי-ש תודה
    אני מדבר על ענין עקרוני, איך נכון לעשות. האם יש בעיה לשים אותם שם, או שאין בעיה.

    עכשיו בדקתי והם בהחלט נגישים, כל הקוד נגיש למי שיודע את הכתובת והשם שלהם. אבל בשביל זה יש vhost או htaccess, לא?

    למה לך לשים קבצים רגישים בתיקיה חשופה לבחוץ, ואז להגן?
    כשאתה יכול להפריד כל פרויקט מסודר לתיקיה משלו

    תכנות

  • מיקום קבצי nodejs בשרת
    צבי-שצ צבי-ש
    1. תיקיית public_html הוא בדרך כלל המקום בו אחסון אתרים (לא שרת) מאחסן קבצים סטטיים שיהיה ניתן לגשת אליהם חיצונית דרך הדפדפן, למשל קבצי html, css ובתוך זה גם קבצי js שרצים בצד לקוח.
    2. nodejs היא שפת תוכנה שרצה בצד שרת (לא באחסון קבצים), והקבצים שלה בדרך כלל נכתבים בjs (או ts ומקומפלים אל js) ולא נגישים חיצונית כלל.
    3. אם בכל זאת השירות nodejs רוצה להחזיר קבצי js הוא כמובן יכול (במקום response של json למשל הוא יחזיר קובץ), ואת הקבצים הוא מגדיר בקוד מאיפה לקחת, זה לא קשור לתיקיית public_html.

    זה חשוב להבין כבסיס,
    מכאן לשאלה
    אם אתה יכול להריץ קוד nodejs = אתה לא על אחסון קבצים אלא על שרת אמיתי ולכן אין כל משמעות לתיקיית public_html, אלא למה שמוגדר בקוד

    אם אתה כן רואה שקבצים שנמצאים בשרת בתיקיית public_html נגישים חיצונית, תבדוק עם nginx / אפאצי / מי שמנהל את הרשת בשרת, למה התיקייה הזאת ממופה, והאם דרכה אפשר להגיע לתיקיות אחרות (צעד אבטחתי)

    תכנות

  • מהי הדרך הקלה ביותר, לתזמן מראש הפעלת קוד ע"י לינק ??
    צבי-שצ צבי-ש

    התלבטתי לפני שכתבתי פה את הלינק ההוא, זה לתת דג, במקום ב2 דקות לתת חכה,
    הוא נתן לך פיתרון, ועל זה אני שמח.

    רק מרחיב קצת על החכה שנתנו פה פיתרון איתה, ומוסיף את השנקל שלי לעניין

    cron הוא כלי מדהים, שמאפשר לך לתזמן את כל המשימות במערכת, לא מחייב אותך להשאיר לינק פתוח שכל מי ש״עולה״ עליו יכול להריץ לך דברים במערכת... מדוייק יותר, אמין יותר, ולא תלוי בגורמים חיצוניים, ולא רק php אלא עוד סוגי הרצות

    כתבת שאתה צריך להריץ קוד b לפני קוד a, למשל בcron בשרת זה ממש קל, אם אתה רוצה שa ירוץ רק עם b יצליח, אתה כותב את התזמון, (למשל פעם בחצי שעה) ואז את הפקודות עם && בינהם, (למשל python3 b.py && python3 a.py) ואם לא איכפת לך האם b הצליח, אלא העיקר שa ירוץ אחריו, אתה מפריד עם ; (למשל python3 b.py ; python3 a.py) ואתה לא צריך לתזמן פעמיים

    עוד כתבת שיש בשרת שלך רשימת cronים כבר ממתכנת שהגדיר לפני כמה שנים, יותר קל ונוח לארגן את כלל התזמונים באותו מקום, ולא כל תזמון לזכור איפה ומי אחראי עליו.

    תוכנה

  • שירות סליקה מומלץ וקל ליישום
    צבי-שצ צבי-ש

    הטמעה איפה?
    באתר שלך? בבוט שבנית? במכשיר שאתה מפתח לסליקה עם nfc?
    בשליחת דפי תשלום ללקוחות?
    אתה צריך שיהיה שם הוראות קבע? שמירת טוקנים? מה הצרכים שלך?

    תכנות

  • מהי הדרך הקלה ביותר, לתזמן מראש הפעלת קוד ע"י לינק ??
    צבי-שצ צבי-ש

    https://cron-job.org/en/

    תוכנה

  • פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר
    צבי-שצ צבי-ש

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    @צבי-ש אז אם יש כמה קונטיינרים, צריך לפתוח הרבה פורטים? או שיש דרך לטפל בזה?

    כל שירות שמקבל קריאות, רץ על פורט אחר

    ומה זה ה8090:8080 שכתבת?

    בקונטיינר עצמו יש 65k פורטים אפשריים וכנ״ל בשרת החיצוני
    ויש מיפוי בינהם שאומר תעביר את כל הקריאות בשרת שמגיעות אל 8090 אל הקונטיינר בפורט 8080

    ports:
      - "8090:8080"
    
    תכנות

  • פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר
    צבי-שצ צבי-ש

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    בבניה שלו, יש תכונות שמשתמשים בהם רק לצורך פיתוח ולא בטיחותי או נכון להשאיר אותם למוצר עצמו, יש דברים כאלו?

    לא מכיר משהו ברמת הדוקר עצמו, אולי ברמת פיתוח האפליקציה עצמה למשל cors או token וכדומה שתרצה להגדיר מן הסתם בקובץ env (או בחלק env שבדוקר קומפוז) למשל

        environment:
          DEBUG: "true"
    

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    איך מעבירים את מבנה הטבלאות, אם בעצם מורידים את המריה ישירות מהמאגר? ואם רוצים שיגיעו טבלאות עם שורות כבר?

    אתה מוריד רק את התוכנה של הdb, בפנים אתה צריך להגדיר הכל מ0 כמו בכל db שקיים.

    לגבי המבנה טבלאות, בדרך כלל כשאתה בונה אפלקיציה מסודרת יש שם חלק שנועד ליצור טבלאות בdb תואמות סכמה שאתה משתמש בה, דאטה קלאס או משהו כזה.

    לרוב אם המערכת צריכה נתונים ראשוניים בשביל להעלות המפתח ייבנה סקריפט שיודע לבנות את הסכמות של הטבלאות הדרושות, ויודע להכניס לתוכם את הנתונים הבסיסיים החשובים

    תכנות

  • פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר
    צבי-שצ צבי-ש

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    בכוונה לא הוספת את index.js? לכאורה גם הוא אמור להיות בפנים, לא?

    בשלב מאוחר יותר ב dockerfile העתקתי אותו

    COPY . .  
    

    זה בעצם מעתיק את הכל,

    דוקר חכם ויודע לבנות מלמעלה למטה (לפי סדר השורות) רק את החלקים שהשתנו,
    ולכן קודם כל, אעתיק את הקבצים של התלויות, שמשתנים פחות, ואתקין אותם.
    אחרי זה אעתיק את שאר הקוד שמשתנה יותר, והבניה תהיה חסכונית יותר

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    לאיפה? לכתובת הIP של השרת ואז יהיה אפשר להגיע לקבצים האלו דרך פורט 8080 ו8090?

    אחרי שאתה מפעיל אותם, הם רצים על השרת בפורט הזה, אם אין חומת אש הם נגישים כרגע ב ip:8080 או ip:8090, אם יש חומת אש אז תפנה לפורטים האלו דומיין כדי שיוכלו להגיע מבחוץ קריאות

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    למה צריך גם מריה וגם phpmyadmin? הphpmyadmin לא כולל גם מסד נתונים?

    לא, הוא רק תצוגה

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    כל פעם שאני מוסיף קובץ ל"אפליקציה" צריך להוסיף אותו גם בcopy בdockerfile או שדרך הvolume זה מתווסף לבד?

    בעיקרון הווליום נועד יותר לחלקים בתמונה שדורשים נתונים בחוץ, למשל מיקום שמירה של קבצי הdb או הורדות או קבצים שאתה רוצה לשתף בין כמה קונטיינרים וכדומה
    אפשר טכנית לא להעתיק את כל הפרויקט אלא לשים דוקר לworkfolder הראשי, אבל זה פחות מומלץ, בכל מקרה את קובץ ההרצה עצמו (index.js) ואת קבצי התלויות תצטרך להעתיק בשביל שהבניה עצמה לא תקרוס.

    אם אתה מוסיף קוד לאפלקיציה, נכון יותר לבדוק אותו במחשב שלך לוקאלית, ואם עובד אצלך לבנות מחדש את התמונה בשרת, להוריד את הקיימת ולהעלות חדשה

    @eido כתב בפיתוח אפליקציית אנטרנט + מסד נתונים בדוקר:

    יש הבדל בין פרודקשן לפיתוח?

    באיזה הקשר?

    תכנות

  • פיתוח אפליקציית אנטרנט + מסד נתונים בדוקר
    צבי-שצ צבי-ש

    שבוע טוב!

    זה נושא ענק, ואפשר להרחיב עליו להרבה כיוונים, אנסה להסביר בתמצות מה שלכאורה יעזור לצרכים שלך.

    דוקר היא מעיין תמונה של מכונה וירטואלית שיודעת להריץ ״מצב מסויים״ (לא בדיוק, זה יותר תהליך שרץ בסביבה מבודדת אבל זה עוזר להבנה)

    ישנם תמונות מוכנות שאנשים העלו כבר לרשת בדרך כלל אל https://hub.docker.com וישנם תמונות שאתה יוצר לבד

    למשל את phpmyadmin תוכל להתקין ישירות מכאן.

    בשביל ליצור תמונה משל עצמך, אתה יוצר קובץ בשם Dockefile ושם מגדיר לו מספר דברים.

    1. על בסיס של איזה מכונה לרוץ (node, python, php, ubunto וכדומה)
    2. איזה קבצים להכניס בפנים
    3. איזה תלויות להתקין
    4. עוד כמה הגדרות שאתה יכול להגדיר שם למשל איזה פורטים להוציא החוצה, איזה סקריפט להריץ בסיום וכדומה
      ואז אתה מפעיל את התמונה

    למשל במבנה תיקיות כזה

    .
    └── mynodejscode
        ├── package.json
        ├── package-lock.json
        └── index.js
    

    נניח שה index.js שלך הוא שרת אקספרסס שמאזין על פורט 8080

    אנחנו נרצה להוסיף מכונה ש

    1. בנויה על בסיס nodejs
    2. תעתיק את הקובץ package.json ואת package-lock.json
    3. תריץ בפנים npm i
    4. אחרי זה תריץ את index.js כי זה תכלס הקוד שלנו

    הקובץ Dockerfile שלנו יראה בערך ככה

    FROM node:20-alpine
    
    WORKDIR /app
    
    COPY package*.json ./
    RUN npm install 
    
    COPY . .
    
    CMD ["node", "index.js"]
    
    

    עכשיו נעבור לדרך שבה נהוג לנהל מספר Dockerים שרצים ביחד ושייכים לאותו פרויקט (כמו אצלינו שאתה צריך שה nodejs ירוץ עם db + phpmyadmin

    יש תוכנה בשם docker compose שיודעת לקחת yml מסודר ולהריץ איתו מספר פרויקטים ביחד.
    (יש לה מספר מעלות נוספות חוץ מהסדר, למשל היא יוצרת להם רשת פנימית מחוברת, ואפשר להשתמש בדומיינים שלהם עצמם אבל זה כבר לפעם אחרת..)

    אם נחזור רגע לתמונה של phpmyadmin שיש ברשת כאן

    נראה שיש שם אופציה נוחה להריץ את phpmyadmin דרך docker compose

    services:
      db:
        image: mariadb:10.11
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: notSecureChangeMe
    
      phpmyadmin:
        image: phpmyadmin
        restart: always
        ports:
          - 8080:80
        environment:
          - PMA_ARBITRARY=1
    

    מאוד פשוט, מאוד קריא, להריץ את הdb + phpmyadmin דרך קובץ אחד נח

    נוסיף קובץ בשם docker-compose.yml

    וכרגע מבנה התיקיות שלנו יראה בערך ככה:

    .
    ├── docker-compose.yml
    └── mynodejscode
        ├── Dockerfile
        ├── package.json
        ├── package-lock.json
        └── index.js
    

    עכשיו בא נוסיף לדוקר קומפוז את הפרויקט שלנו

    אנחנו נרצה שהוא יידע לגשת לdockerfile, לבנות את התמונה שם, ולהריץ אותו על פורט 8090

      nodeapp:
        build:
          context: ./mynodejscode
        container_name: my-node-app
        ports:
          - "8090:8080"
    

    ועכשיו כשנרים אותו עם הפקודה docker compose up -d
    3 השירותים שלנו יתרוממו ביחד (db, phpmyadmin, node code) ויהיו נגישים בשרת בכתובות שמיפנו להם (8080 /8090)
    עכשיו נשאר להפנות דומיין לשם כדי שיהיו נגישים חיצונית לעולם

    על יתר מעללי דוקר קומפוז ודוקר בכללי, ועל האופציות הנוספות שאפשר להוסיף בenv להגדיר איזה פורט ירוצו, והגדרות נוספות תוכל לקרוא ברחבי הרשת או בלינקים לעייל

    עריכה: כשנופל קונטיינר (קונטיינר = תמונה שהרמת) של דוקר, הוא מתרומם בדיוק 1:1 כמו שבנית אותו בפעם הראשונה, הקבצים שאתה יוצר בפנים, השינויים שאתה משנה ברמת הdb אם הוא בדוקר, הכל נמחק כשהקונטיינר נופל, ולכן יש חשיבות גדולה להיכרות עם volume של דוקר, הוא מאפשר לך למפות תיקיה מהשרת, לתוך תיקיה בקונטיינר שרץ וככה אם הקונטיינר נופל, הנתונים נשמרים בשרת בתיקייה שמיפת.

    למשל בפרויקט שלך אם תגדיר

    volumes:
      - ./data:/app/data
    

    זה ימפה את תיקיית data הנוכחית בשרת לכתובת app/data, ומכייון שהסביבת עבודה שלך רצה כבר על /app (כמו שמוגדר בdockerfile) כל מה שתשמור בקוד בתוך data יישמר גם בחוץ

    מה שייצור סביבת עבודה כזאת בערך

    .
    ├── docker-compose.yml
    ├── data/  -- כאן הווליום נשמר
    └── mynodejscode/
        ├── Dockerfile
        ├── package.json
        ├── package-lock.json
        └── index.js
    
    תכנות

  • ניהול שרת/אתר מומלץ
    צבי-שצ צבי-ש

    אני מנהל את השרת שלי עם דוקרים, אז יש לי דוקר אחד של nginx ועוד אחד של let's encrypt שאחראים על הכל, כשאני רוצה להקצות דומיין לקונטיינר אני בסך הכל מגדיר env מתאים וזהו
    למשל ההגדרה שלהם עצמם

      nginx-proxy:
        image: jwilder/nginx-proxy
        container_name: nginx-proxy
        ports:      
          - "80:80"    
          - "443:443"  
        volumes:    
          - /var/run/docker.sock:/tmp/docker.sock:ro
          - ./certs:/etc/nginx/certs
          - ./vhost.d:/etc/nginx/vhost.d
          - ./html:/usr/share/nginx/html
        restart: always
        environment:
          DEFAULT_HOST: prod.ovh
    
      letsencrypt: 
        image: nginxproxy/acme-companion
        container_name: nginx-letsencrypt
        environment:
          NGINX_PROXY_CONTAINER: nginx-proxy 
          ACME_CA_URI: https://acme-v02.api.letsencrypt.org/directory 
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - ./certs:/etc/nginx/certs
          - ./vhost.d:/etc/nginx/vhost.d
          - ./html:/usr/share/nginx/html
        restart: always
    

    ואז אחרי זה בפרויקט אני מגדיר ככה

      main_prod_web:
        image: registry.prod.ovh/main_prod_web:latest
        container_name: main_prod_web
        environment:
          VIRTUAL_HOST: prod.ovh
          LETSENCRYPT_HOST: prod.ovh
          LETSENCRYPT_EMAIL: prod@gmail.con
          VIRTUAL_PORT: 8080
          ENABLE_PROXY_PROTOCOL: "true"
        env_file:
          - main_prod_web.env
        expose:
          - "80"
        restart: always
    
    רשתות

  • מעבר על תיקיות ותתי תיקיות על כל קבציהן בלי רקורסיה
    צבי-שצ צבי-ש

    אולי כדאי להפריד תהליכים...
    תהליך ראשי, רץ על ימות עצמם ואוסף דאטה
    תהליכים משניים מעבדים את הדאטה שצריך להוריד, לשמור, ולעדכן את המרכזי שהם סיימו ויכולים לקבל עבודה נוספת.
    את התיכים המשניים אתה יכול לשכפל ולהריץ גם 10 כאלה, ותקבל כח עיבוד של 10 סקריפטים, עם כעין שרת מרכזי שינהל את זה, ולא 1 צולע

    תכנות

  • יש חלופה טובה/עדכנית לרקורסיה?
    צבי-שצ צבי-ש

    @eido כתב ביש חלופה טובה/עדכנית לרקורסיה?:

    נכון, אבל אם יש כמה סוגי קבצים ועל כל קובץ יש סוג אחר של פעולה זה מסובך כי צריך גם לזכור באיזה סוג קובץ הייתי ובאיזה קובץ ספציפי.

    0

    אז לפני שאתה מתחיל את הסקריפט, תספור זמנים ואם עובר 5 ומשהו דקות, תסיים עיבוד לקובץ הנוכחי, תשמור תמונת מצב נוכחית באיזה json ותרים משם מחדש.
    אולי תעשה קריאה לעוד סקריפט שאותו תפעיל עם בקשת get שיתחיל מאותו מקום, וישאב את הjson או יקבל בפרמטרים את הנתיב שהוא אוחז בו או לא יודע מה, אולי ב bady את כל התמונת מצב איפה אתה אוחז ומה עשית, וככה כן תוכל להמשיך עד לגיבוי מלא, אבל זה דרך עקומה ללכת, יותר הגיוני להפעיל את זה פשוט משרת רגיל ואמיתי עם קוד חסכוני ויעיל כמה שיותר, ואם ייקח שעתיים, שייקח שעתיים, גיבוי עלול לקחת זמן

    תכנות
  • 1
  • 2
  • 3
  • 4
  • 5
  • 22
  • 23
  • 1 / 23
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום