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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. JS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...

JS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 6 כותבים 551 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    השיב לחוקר ב נערך לאחרונה על ידי dovid
    #7

    @chv יש שמה בדוגמאות הפעלה חד פעמית של פעולה (עם תאריך קשיח שנה תאריך ושעה).
    @חוקר אני התכוונתי setTimeout אחד לעוד חמש חודשים... אבל גיליתי שאי אפשר יותר מ25 יום... (אלא"כ עושים setTimeout רקורסיבי, לא טוב).
    אז אם כבר צריך לעשות משהו פעם ביום, אז אפשר ללכת על בדיקה מתמדת עם setInterval של פעם בדקה וכדומה. אני מחפש באינטרנט ואני מוצא כאלה כיוונים:
    How to set up 6 month timer in node.js

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

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    תגובה 1 תגובה אחרונה
    4
    • A מנותק
      A מנותק
      aaron
      כתב ב נערך לאחרונה על ידי
      #8

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

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

      אני לא מתכנת בnode, אבל זה השנקל שלי..

      aaron.tchumim@gmail.com
      Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

      ווצאפ API - תיעוד שירות API לא רשמי.

      dovidD תגובה 1 תגובה אחרונה
      2
      • dovidD מחובר
        dovidD מחובר
        dovid ניהול
        השיב לaaron ב נערך לאחרונה על ידי dovid
        #9

        @aaron אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

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

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

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        A תגובה 1 תגובה אחרונה
        2
        • chvC מנותק
          chvC מנותק
          chv
          כתב ב נערך לאחרונה על ידי
          #10

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

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

          בלוג | מייל

          תגובה 1 תגובה אחרונה
          1
          • A מנותק
            A מנותק
            aaron
            השיב לdovid ב נערך לאחרונה על ידי
            #11

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

            אולי תפרט יותר למה לדעתך intrval פנימי מספיק טוב?
            אני דיי מתקשה להבין\להסכים עם הרעיון..
            העולם היום הרבה יותר בעד פיזור למרות החסרונות של תלות בתקשורת, פלטפורמה וכו'
            העולם הוא לא סוף פסוק, אבל אני מניח שמאחורי הדעה יש הרבה מחקר ומסקנות..

            aaron.tchumim@gmail.com
            Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

            ווצאפ API - תיעוד שירות API לא רשמי.

            dovidD תגובה 1 תגובה אחרונה
            0
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              השיב לaaron ב נערך לאחרונה על ידי
              #12

              @aaron לא יודע אם זה שווה דיון, אני די מסכים אם כל הצדדים, אבל אם אתה רוצה אסביר לך את עצמי.
              טווח החיים לא רלוונטי, כי בטעינת האפליקציה הוא מפעיל שוב את הInterval.
              אפליקציית נוד בהחלט עשויה לעבוד כל הזמן, זה הרי בראש ובראשונה תוכנת שירות http.

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

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

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              A תגובה 1 תגובה אחרונה
              5
              • A מנותק
                A מנותק
                aaron
                השיב לdovid ב נערך לאחרונה על ידי
                #13

                @dovid אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

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

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

                @dovid אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

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

                העולם לא מפחד מזה כי ביחד עם המיקרוסרוויסים הגיע התחום של דוקר וk8s..

                aaron.tchumim@gmail.com
                Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                ווצאפ API - תיעוד שירות API לא רשמי.

                chvC תגובה 1 תגובה אחרונה
                0
                • chvC מנותק
                  chvC מנותק
                  chv
                  השיב לaaron ב נערך לאחרונה על ידי
                  #14

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

                  אגב אני בסוף כן לקחתי את ה-schedule, אבל פשוט כדי ליצור interval כל יום בשעה מסוימת.

                  בלוג | מייל

                  A תגובה 1 תגובה אחרונה
                  0
                  • A מנותק
                    A מנותק
                    aaron
                    השיב לchv ב נערך לאחרונה על ידי
                    #15

                    @chv אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                    אבל האין זאת שפייתון ונוד הן שני עולמות שאינם מתחברים?

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

                    aaron.tchumim@gmail.com
                    Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                    ווצאפ API - תיעוד שירות API לא רשמי.

                    תגובה 1 תגובה אחרונה
                    1
                    • chvC מנותק
                      chvC מנותק
                      chv
                      כתב ב נערך לאחרונה על ידי
                      #16

                      שכחתי מהאשכול הזה..
                      הנה מה שבניתי.. 'אפליקציית נוד הראשונה שלי' (yay 👏 😉 )
                      הועלה להרוקו https://chvsunset.herokuapp.com/
                      אשמח להערות הארות גערות וכו'
                      CSS באדיבות @Men770 , הרבה הרבה עזרה והסברים מעמיקים (ונזיפות מוצלחות) מהגה"צ @yossiz

                      הקוד בגיטהב https://github.com/chaim-chv/zmanim-node
                      שוב - הארות וכו'

                      המשך יום\לילה\יממה כללית נעימה לכולם

                      @dovid @חוקר @yossiz

                      בלוג | מייל

                      WWWW ב 3 תגובות תגובה אחרונה
                      6
                      • WWWW מנותק
                        WWWW מנותק
                        WWW
                        השיב לchv ב נערך לאחרונה על ידי
                        #17

                        @chv יפה מאד!
                        אם אני מבין נכון, אתה בכל פעם בודק את שם העיר בגוגל מפס, אני הייתי שומר את הנתונים באיזה DB / קובץ JSON או לפחות בזכרון, כי זה בעצם עוד בקשת אינטרנט שמאריך את זמן התגובה באתר.

                        WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                        chvC תגובה 1 תגובה אחרונה
                        1
                        • chvC מנותק
                          chvC מנותק
                          chv
                          השיב לWWW ב נערך לאחרונה על ידי chv
                          #18

                          @www אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                          @chv יפה מאד!
                          אם אני מבין נכון, אתה בכל פעם בודק את שם העיר בגוגל מפס, אני הייתי שומר את הנתונים באיזה DB / קובץ JSON או לפחות בזכרון, כי זה בעצם עוד בקשת אינטרנט שמאריך את זמן התגובה באתר.

                          יותר נכון - בודק את ה-lat-long (קואורדינטות) של העיר (עם google geolocation API) כי הספרייה של בדיקת זמני הלכה (kosher-zmanim) דורשת את הנתונים האלו.

                          צודק בקשר למהירות - אכן רעיון לשמור כל בקשה שהצליחה - לאחסן אותה ב-DB. (בהמשך.. יש לי עכשיו מה לעשוץ)

                          אגב אני לא יודע עד כמה זה ישפר מהירות, ה-DB הזה וההתקשרות איתו לא ככ מוכיחים את עצמם בקטע של מהירות. גוגל דווקא מהיר. (אני משתמש במונגוDB של מונגו עצמם, כלומר מנוהל - מאוחסן אצלם, תוכנית חינמית. כנראה התוצאות בהתאם. פעם היה בהרוקו תוכנית חינמית של מונגוDB, זה הופסק בנובמבר האחרון. מכה קשה להרבה גיקים הודים, ולי (כיום יש רק תוכנית חינמית של postgresql.. חשבתי ללמוד את זה באמת, רק בגלל שיש לי שם תוכנית חינמית.. וגם כי @yossiz יוכל הרבה יותר לעזור לי ... 😉)

                          בלוג | מייל

                          WWWW תגובה 1 תגובה אחרונה
                          2
                          • WWWW מנותק
                            WWWW מנותק
                            WWW
                            השיב לchv ב נערך לאחרונה על ידי
                            #19

                            @chv אני הייתי טוען לזכרון, ובמקביל שומר בקובץ JSON מקומי, וטוען את הJSON לזכרון בעת עליית האפליקציה.

                            @chv אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                            יותר נכון - בודק את ה-lat-long (קואורדינטות) של העיר (עם google geolocation API) כי הספרייה של בדיקת זמני הלכה (kosher-zmanim) דורשת את הנתונים האלו.

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

                            WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                            chvC תגובה 1 תגובה אחרונה
                            1
                            • chvC מנותק
                              chvC מנותק
                              chv
                              השיב לWWW ב נערך לאחרונה על ידי
                              #20

                              @www אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                              @chv אני הייתי טוען לזכרון, ובמקביל שומר בקובץ JSON מקומי, וטוען את הJSON לזכרון בעת עליית האפליקציה.

                              אה זה רעיון! לא חשבתי על זה בכלל. זה כאילו ליצור לעצמי DB פרטי 😃 במבנה ובסכמות שאני מחליט..
                              אני יבדוק זה נשמע לי מעניין.

                              בלוג | מייל

                              WWWW תגובה 1 תגובה אחרונה
                              0
                              • WWWW מנותק
                                WWWW מנותק
                                WWW
                                השיב לchv ב נערך לאחרונה על ידי
                                #21

                                @chv בדרך כלל זה פחות יעיל, כשיש לך טבלאות וכו' בפרט עם שאילתות מורכבות.
                                [הרי כל DB זה גם קובץ מקומי, רק שזה מתוכנן נכון עם מנוע מיוחד שאמור לעזור לך לשלוף ולאחסן נתונים עם העלות הביצועית הזולה ביותר. (זכור לי ש @dovid כתב על זה פעם בהרחבה).]
                                אלא שבמקרה שלנו שמדובר בטבלה אחת, שלכאורה לא תצטרך לעדכן אותה יותר מידי לאחר שתתמלא, ומדובר בנוד שהמערך שמור בזכרון, לכאורה זה הפתרון הכי טוב.

                                WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                תגובה 1 תגובה אחרונה
                                1
                                • WWWW מנותק
                                  WWWW מנותק
                                  WWW
                                  השיב לchv ב נערך לאחרונה על ידי WWW
                                  #22

                                  @chv אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                                  אשמח להערות הארות גערות וכו'

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

                                  Uncaught (in promise) DOMException: Registration failed - permission denied
                                  

                                  וכן הגלגל ממשיך להסתובב.

                                  עריכה: עוד משהו:
                                  הוא נותן להירשם גם לשם עיר שלא קיים.

                                  WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                                  chvC 2 תגובות תגובה אחרונה
                                  2
                                  • chvC מנותק
                                    chvC מנותק
                                    chv
                                    השיב לWWW ב נערך לאחרונה על ידי
                                    #23

                                    @www בקיצור: לשיפור בהמשך.

                                    תודה על כל מילה!!

                                    בלוג | מייל

                                    תגובה 1 תגובה אחרונה
                                    1
                                    • chvC מנותק
                                      chvC מנותק
                                      chv
                                      השיב לWWW ב נערך לאחרונה על ידי
                                      #24

                                      @www אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                                      @chv אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                                      אשמח להערות הארות גערות וכו'

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

                                      Uncaught (in promise) DOMException: Registration failed - permission denied
                                      

                                      וכן הגלגל ממשיך להסתובב.

                                      עריכה: עוד משהו:
                                      הוא נותן להירשם גם לשם עיר שלא קיים.

                                      סודר (שתי ההערות)

                                      בלוג | מייל

                                      תגובה 1 תגובה אחרונה
                                      2
                                      • ב מנותק
                                        ב מנותק
                                        ב.ל
                                        השיב לchv ב נערך לאחרונה על ידי
                                        #25

                                        @chv אמר בJS | תזמון, המתנה לזמן מסוים להרצת פעולה - אבל לא settimeout...:

                                        שכחתי מהאשכול הזה..
                                        הנה מה שבניתי.. 'אפליקציית נוד הראשונה שלי' (yay 👏 😉 )
                                        הועלה להרוקו https://chvsunset.herokuapp.com/
                                        אשמח להערות הארות גערות וכו'
                                        CSS באדיבות @Men770 , הרבה הרבה עזרה והסברים מעמיקים (ונזיפות מוצלחות) מהגה"צ @yossiz

                                        הקוד בגיטהב https://github.com/chaim-chv/zmanim-node
                                        שוב - הארות וכו'

                                        המשך יום\לילה\יממה כללית נעימה לכולם

                                        @dovid @חוקר @yossiz

                                        זה ממש לתועלת בשבילי . יש"כ

                                        ליצירת קשר - baruchlamdan@gmail.com

                                        תגובה 1 תגובה אחרונה
                                        1

                                        • 1
                                        • 2
                                        בא תתחבר לדף היומי!
                                        • התחברות

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

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