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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. יצירת תור לבקשות API

יצירת תור לבקשות API

מתוזמן נעוץ נעול הועבר תכנות
33 פוסטים 6 כותבים 776 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #2

    https://tchumim.com/topic/88/מודול-php-שרץ-כל-הזמן

    nigunN תגובה 1 תגובה אחרונה
    2
    • nigunN nigun

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

      clickoneC מנותק
      clickoneC מנותק
      clickone
      כתב ב נערך לאחרונה על ידי
      #3

      @nigun האמת שכתבתי השבוע משהו כזה עם וורקר בC#.
      אבל זה עדיין לא גמור.
      כדיהיה גמור תיכננתי להעלות לכאן.

      אין טסט כמו פרודקשן.

      המייל שלי urivpn@gmail.com

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

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

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        nigunN תגובה 1 תגובה אחרונה
        1
        • dovidD dovid

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

          nigunN מנותק
          nigunN מנותק
          nigun
          כתב ב נערך לאחרונה על ידי
          #5

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

          מייל: nigun@duck.com

          תגובה 1 תגובה אחרונה
          1
          • chagoldC chagold

            https://tchumim.com/topic/88/מודול-php-שרץ-כל-הזמן

            nigunN מנותק
            nigunN מנותק
            nigun
            כתב ב נערך לאחרונה על ידי nigun
            #6

            @chagold
            לא כל כך הבנתי מה יצא שם
            ושכחתי לציין שלא טוב לי לולאה אינסופית עם sleep וכדו'
            או קריאות מסקריפט א' לסקריפט ב' וב' קורא חזרה לא'
            כי אז אם השרת נופל ל2 שניות התהליך מת

            מייל: nigun@duck.com

            chagoldC תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid
              ניהול
              כתב ב נערך לאחרונה על ידי dovid
              #7

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

              דוגמה:

              $f = fopen('some_file', 'a');
              flock($f, LOCK_EX);
              //פה אתה כותב את הקריאה ל API
              flock($f, LOCK_UN);
              fclose($f);
              
              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
              nigunN תגובה 1 תגובה אחרונה
              4
              • dovidD dovid

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

                דוגמה:

                $f = fopen('some_file', 'a');
                flock($f, LOCK_EX);
                //פה אתה כותב את הקריאה ל API
                flock($f, LOCK_UN);
                fclose($f);
                
                nigunN מנותק
                nigunN מנותק
                nigun
                כתב ב נערך לאחרונה על ידי
                #8

                @dovid
                מה יקרה לתהליך הבא
                יחכה או יפסק?

                מייל: nigun@duck.com

                dovidD תגובה 1 תגובה אחרונה
                0
                • nigunN nigun

                  @dovid
                  מה יקרה לתהליך הבא
                  יחכה או יפסק?

                  dovidD מנותק
                  dovidD מנותק
                  dovid
                  ניהול
                  כתב ב נערך לאחרונה על ידי
                  #9

                  @nigun כמובן שיחכה (אלא"כ פסיפסתי את ההבנה, אני די מסתבך עם השפה הזו),
                  אתה יכול לבדוק את זה ככה:

                  $f = fopen('some_file', 'a');
                  flock($f, LOCK_EX);
                  sleep(10);
                  flock($f, LOCK_UN);
                  fclose($f);
                  
                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                  תגובה 1 תגובה אחרונה
                  0
                  • י מנותק
                    י מנותק
                    יוסף בן שמעון
                    כתב ב נערך לאחרונה על ידי
                    #10

                    @nigun בנוד אפשר לעשות את זה מסודר עם אירועים, תודיע אם זה רלוונטי להוסיף פרטים

                    nigunN תגובה 1 תגובה אחרונה
                    4
                    • nigunN nigun

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

                      WWWW מנותק
                      WWWW מנותק
                      WWW
                      כתב ב נערך לאחרונה על ידי WWW
                      #11

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

                      אצלי היה צורך אחר, שלא יהיו בשום אופן 2 קריאות לAPI בו זמנית.

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

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

                      dovidD תגובה 1 תגובה אחרונה
                      1
                      • WWWW WWW

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

                        אצלי היה צורך אחר, שלא יהיו בשום אופן 2 קריאות לAPI בו זמנית.

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

                        dovidD מנותק
                        dovidD מנותק
                        dovid
                        ניהול
                        כתב ב נערך לאחרונה על ידי
                        #12

                        @WWW אוי ואבוי...

                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                        WWWW תגובה 1 תגובה אחרונה
                        2
                        • nigunN nigun

                          @chagold
                          לא כל כך הבנתי מה יצא שם
                          ושכחתי לציין שלא טוב לי לולאה אינסופית עם sleep וכדו'
                          או קריאות מסקריפט א' לסקריפט ב' וב' קורא חזרה לא'
                          כי אז אם השרת נופל ל2 שניות התהליך מת

                          chagoldC מנותק
                          chagoldC מנותק
                          chagold
                          כתב ב נערך לאחרונה על ידי
                          #13

                          @nigun אמר ביצירת תור לבקשות API:

                          @chagold
                          לא כל כך הבנתי מה יצא שם

                          שבPHP מומלץ להשתמש עם טריגרים בד"ב ולא לולאה.
                          אם כי לא יודע אם זה רלוונטי לגביך (גם כי לא הבנתי בדיוק את המקרה...).

                          תגובה 1 תגובה אחרונה
                          1
                          • nigunN מנותק
                            nigunN מנותק
                            nigun
                            כתב ב נערך לאחרונה על ידי
                            #14

                            עכשיו נפל לי האסימון
                            אני צריך לעשות את הנעילה על השלב של הפעלת הסקריפט בלולאה מתוך הנתונים בDB
                            ולהפעיל כל דקה עם cron
                            וכדי למנוע אפשרות שסקריפט לא יגמר והcron יפעיל את הסקריפט שוב
                            אני עושה נעילה שאם הנעילה = true אז או שיפסיק או שיכנס ללולאת שינה
                            אני לא יכול לעשות את זה על הפעולה עצמה ושהמאזין יחכה בתור על הקו
                            כי יכול להיות שהמאזין יתקע חצי דקה על הקו עם שקט ואז הוא יחשוב שזה לא עובד
                            (אלא אם כן אני בונה את זה לבד באסטריסק ואז אני יכול לשים לו מוזיקה)
                            אמנם יש לי בעיה אם פעולה לא בוצעה בהצלחה המאזין לא ידע את זה
                            ויצטרך לחזור לקו בשביל לשמוע הודעה שים לב הפעולה האחרונה נכשלה
                            @chagold
                            טריגר בד"ב לא יעזור לי כי אני צריך לבצע פעולה בPHP עם הנתונים שנמצאים בד"ב
                            ולא לבצע פעולה בד"ב כמו עדכון/כתיבה/מחיקה

                            לגבי הנעילה הזאת מישהו יודע מה ההבדל בין נעילה לבין פשוט לכתוב בקובץ טקסט 1 ובשחרור לכתוב 0?

                            מייל: nigun@duck.com

                            תגובה 1 תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid
                              ניהול
                              כתב ב נערך לאחרונה על ידי dovid
                              #15

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

                              • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                              • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                              nigunN תגובה 1 תגובה אחרונה
                              3
                              • dovidD dovid

                                @WWW אוי ואבוי...

                                WWWW מנותק
                                WWWW מנותק
                                WWW
                                כתב ב נערך לאחרונה על ידי
                                #16

                                @dovid אמר ביצירת תור לבקשות API:

                                @WWW אוי ואבוי...

                                ??

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

                                dovidD תגובה 1 תגובה אחרונה
                                0
                                • WWWW WWW

                                  @dovid אמר ביצירת תור לבקשות API:

                                  @WWW אוי ואבוי...

                                  ??

                                  dovidD מנותק
                                  dovidD מנותק
                                  dovid
                                  ניהול
                                  כתב ב נערך לאחרונה על ידי dovid
                                  #17

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

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

                                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                  WWWW 2 תגובות תגובה אחרונה
                                  2
                                  • dovidD dovid

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

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

                                    WWWW מנותק
                                    WWWW מנותק
                                    WWW
                                    כתב ב נערך לאחרונה על ידי
                                    #18

                                    @dovid אמר ביצירת תור לבקשות API:

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

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

                                    אני בעצם חיפשתי משהו כמו משתנה PHP ברמת שרת.
                                    אבל לא מצאתי דבר כזה.

                                    אשמח לקבל המלצות.

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

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD dovid

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

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

                                      WWWW מנותק
                                      WWWW מנותק
                                      WWW
                                      כתב ב נערך לאחרונה על ידי WWW
                                      #19

                                      @dovid אמר ביצירת תור לבקשות API:

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

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

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

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • dovidD dovid

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

                                        nigunN מנותק
                                        nigunN מנותק
                                        nigun
                                        כתב ב נערך לאחרונה על ידי
                                        #20

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

                                        מייל: nigun@duck.com

                                        dovidD תגובה 1 תגובה אחרונה
                                        0
                                        • nigunN nigun

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

                                          dovidD מנותק
                                          dovidD מנותק
                                          dovid
                                          ניהול
                                          כתב ב נערך לאחרונה על ידי
                                          #21

                                          @nigun בלי קשר לשאלתך, אני לא יודע איך בPHP+ימות אתה יכול להשמיע הודעה ("אנא המתן") ולאחר הפעולה לעדכן על כך.
                                          אם את החלק הזה אתה יודע אשמח לקוד והמחשה לעניין.

                                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                          nigunN תגובה 1 תגובה אחרונה
                                          1
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


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

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

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