דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. רשתות
  4. פיתוח ועיצוב אתרים
  5. Full Stack
  6. צד שרת
  7. NodeJS
  8. עזרה הדדית - NodeJS
  9. בירור | הרצת כמה סקריפטים במקביל

בירור | הרצת כמה סקריפטים במקביל

מתוזמן נעוץ נעול הועבר עזרה הדדית - NodeJS
71 פוסטים 6 כותבים 229 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ע"ה דכו"עע ע"ה דכו"ע

    @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

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

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

    כלומר, GPT דיבר על מקרה שהקוד

    app.get('/login', (req, res) => {
        res.render('login', {
            error: null
        });
    });
    

    נמצא בקובץ נפרד בשם login.js ולכן הוא כתב לך להפנות אליו בצורה כזו

    app.use('/login', login);
    

    שזה גורם שכאשר ניגשים לנתיב login זה עושה את מה שכתוב בקובץ login שזה מה שאני כתבתי כבר ישירות בקובץ הראשי עצמו.

    ע מנותק
    ע מנותק
    עידו300
    כתב נערך לאחרונה על ידי
    #31

    @ע-ה-דכו-ע אהה עכשיו הבנתי, טוב שהבהרת את הענין.

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

    אז בכזה מקרה אני צריך לעשות כמו שאמר הGPT.

    מצוין, תודה רבה!

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

      טוב, אל תבהלו זה הקוד המלא.
      ניסיתי לשנות אותו לפי הקוספט של זה
      app.use('/login', login);
      אבל יש בו קצת בעיה כי הוא משתמש בראוטר אחר או משהו כזה.
      אשמח לעזרה איך להתאים אותו למה שהסברתם לי, שאוכל לדעת לטפל בשאר.

      import express from 'express';
      import { YemotRouter } from 'yemot-router2';
      import { fileURLToPath } from 'url';
      import process from 'process';
      import { streets, regions, citys } from './streets_data.js';
      import {
          chooseBuyorrent,
          chooseCity,
          chooseBetShemesh,
          chooseregion,
          choosestreet,
          choosenumber,
          choosefloor,
          chooseroom,
          chooseprice,
          choosephone
      } from './validate_func.js';
      
      export const app = express();
      
      export const router = YemotRouter({
          printLog: true,
          uncaughtErrorHandler: (error, call) => {
              console.log(`Uncaught error in ${call.req.path} from ${call.phone}. error stack: ${error.stack}`);
              return call.id_list_message([{ type: 'text', data: 'אירעה שגיאה' }]);
          }
      });
      
      router.events.on('call_hangup', call => console.log(`[example.js] call ${call.callId} was hangup`));
      router.events.on('call_continue', call => console.log(`[example.js] call ${call.callId} was continue`));
      router.events.on('new_call', call => console.log(`[example.js] new call ${call.callId} from ${call.phone}`));
      
      /**
       * @typedef {Object} AdData
       * @property {number} id
       * @property {string} buyorrent
       * @property {string} city
       * @property {string} betShemesh
       * @property {string} region
       * @property {string} street
       * @property {number} number
       * @property {number} floor
       * @property {number} room
       * @property {number} price
       * @property {string} phone
       * @property {string} phone2
       * @property {string} created_at
       */
      
      /**
       * @typedef {Object} AdResponse
       * @property {string} status
       * @property {string} [message]
       * @property {AdData[]} [data]
       */
      
      /** @param {import('yemot-router2').Call} call */
      async function callHandler(call) {
          console.log("מכין בקשה");
          let phone = call.ApiPhone.replace("+972", "0");
          const params = new URLSearchParams({ phone });
          const url = `https://stamandsefer.co.il/appart/new/getSellerAds.php?${params}`;
          console.log(url);
          console.log("שולח בקשה");
      
          /** @type {AdResponse} */
          let response;
      
          try {
              const res = await fetch(url, { method: 'GET' });
              if (!res.ok) throw new Error(`שגיאת HTTP: ${res.status} ${res.statusText}`);
      
              try {
                  response = await res.json();
              } catch {
                  throw new Error("התשובה שהתקבלה אינה JSON תקין");
              }
      
              console.log('Response:', response);
      
              if (response.status !== "success" || !Array.isArray(response?.data)) {
                  console.error('שגיאת שרת:', response);
                  call.id_list_message([{ type: "text", data: "אירעה שגיאה בעת שמירת המודעה" }]);
                  return;
              }
          } catch (err) {
              console.error('שגיאה בשליחת הבקשה:', err.message);
              call.id_list_message([{ type: "text", data: "שגיאה בשליחת המודעה" }]);
              return;
          }
      
          // עיבוד מודעות
          for (const adBase of response.data) {
              let ad = `המודעה היא דירה ל${adBase.buyorrent} ב${adBase.city}`;
              if (adBase.city === "בית שמש") ad += `ה${adBase.betShemesh}`;
              ad += ` בשכונה ${adBase.region} ברחוב ${adBase.street} מספר ${adBase.number} קומה ${adBase.floor} ${adBase.room} חדרים במחיר ${adBase.price} טלפון ליצירת קשר ${adBase.phone}`;
              if (adBase.phone2) ad += ` טלפון נוסף ${adBase.phone2}`;
              ad = ad.replace(".5", " וחצי").replace("-", "מינוס ").replace(".0","");
              console.log(ad);
      
              let ok = false;
              for (let i = 0; i < 3 && !ok; i++) {
                  let toDo = await call.read(
                      [{ type: 'text', data: `${ad}  לעריכת המודעה הקש 1 למחיקה 2 ולמודעה הבאה 3` }],
                      'tap',
                      { max_digits: 1, min_digits: 1, typing_playback_mode: "No", digits_allowed: [1, 2, 3] }
                  );
      
                  if (toDo === "1") {
                    ok =  await editAd(call, adBase);
                  } else if (toDo === "2" && "1" === await call.read(
                      [{ type: 'text', data: `האם אתה בטוח שברצונך למחוק את המודעה 1 לאישור 2 לביטול` }],
                      'tap',
                      { max_digits: 1, min_digits: 1, typing_playback_mode: "No", digits_allowed: [1, 2] }
                  )) {
                      await deleteAd(call, adBase, phone);
                      ok = true;
                  } else if (toDo === "3") {
                      ok = true;
                  } else {
                      if (i === 2) call.id_list_message([{ type: 'text', data: 'ניסיון לא חוקי, שלום ולהתראות' }]);
                  }
              }
          }
      }
      
      router.get('/', callHandler);
      app.use(express.urlencoded({ extended: true }));
      app.use('/manageSellersAd', router);
      
      const port = 3000;
      const isMain = process.argv[1] === fileURLToPath(import.meta.url);
      if (isMain) {
          app.listen(port, () => console.log(`example yemot-router2 running on port ${port}`));
      }
      
      /**********************************************************************/
      /** @param {import('yemot-router2').Call} call @param {AdData} adBase */
      async function editAd(call, adBase) {
          let { city, betShemesh, region, street, number, floor, room, price, phone, phone2 } = adBase;
          let paramsToChange = {};
          let ad="";
          do {
              const choice = await call.read(
                  [{ type: 'text', data: 'לעריכת עיר שכונה ורחוב הקש 1, בנין הקש 2, קומה הקש 3 מספר חדרים הקש 4 מחיר הקש 5 טלפון ליצירת קשר הקש 6 וטלפון נוסף 7' }],
                  'tap',
                  { max_digits: 1, min_digits: 1, typing_playback_mode: "No", digits_allowed: [1, 2, 3, 4, 5, 6, 7] }
              );
      
              switch (choice) {
                  case "1":
                      city = await chooseCity(call);
                      betShemesh = city === "בית שמש" ? await chooseBetShemesh(call) : "";
                      region = await chooseregion(call, betShemesh, city);
                      street = await choosestreet(call, city);
                      Object.assign(paramsToChange, { city, betShemesh, region, street });
                      break;
                  case "2": number = await choosenumber(call); paramsToChange.number = number; break;
                  case "3": floor = await choosefloor(call); paramsToChange.floor = floor; break;
                  case "4": room = await chooseroom(call); paramsToChange.room = room; break;
                  case "5": price = await chooseprice(call); paramsToChange.price = price; break;
                  case "6": phone = await choosephone(call); paramsToChange.newPhone = phone; break;
                  case "7": phone2 = await choosephone(call); paramsToChange.phone2 = phone2; break;
                  default: return false;
              }
      
              ad = `המודעה היא דירה ל${adBase.buyorrent} ב${city}`;
              if (city === "בית שמש") ad += `ה${betShemesh}`;
              ad += ` בשכונה ${region} ברחוב ${street} מספר ${number} קומה ${floor} ${room} חדרים במחיר ${price} טלפון ליצירת קשר ${phone}`;
              if (phone2) ad += ` טלפון נוסף ${phone2}`;
              ad = ad.replace(".5", " וחצי").replace("-", "מינוס ").replace(".0","");
              console.log(ad);
      
          } while (await call.read(
              [{ type: 'text', data: `${ad} , לעריכת המודעה הקש 1 לפרסום ושמירה 2` }],
              'tap',
              { max_digits: 1, min_digits: 1, typing_playback_mode: "No", digits_allowed: [1, 2] }
          ) !== "2");
      
          paramsToChange.phone = call.ApiPhone.replace("+972", "0");
          paramsToChange.adId = adBase.id;
          const params = new URLSearchParams(paramsToChange);
          const url = `https://stamandsefer.co.il/appart/new/updateAd.php?${params}`;
          console.log("שולח בקשה");
      
          try {
              const res = await fetch(url, { method: 'GET' });
              if (!res.ok) throw new Error(`שגיאת HTTP: ${res.status} ${res.statusText}`);
              const response = await res.json();
              console.log('Response:', response);
      
              if (response.status !== "success") {
                  call.id_list_message([{ type: "text", data: "אירעה שגיאה בעת שמירת המודעה" }]);
                  console.error('שגיאת שרת:', response);
              }
              return true;
          } catch (err) {
              console.error('שגיאה בשליחת הבקשה:', err.message);
              call.id_list_message([{ type: "text", data: "שגיאה בשליחת המודעה" }]);
          }
      }
      
      /**********************************************************************/
      /** @param {import('yemot-router2').Call} call @param {AdData} adBase @param {string} phone */
      async function deleteAd(call, adBase, phone) {
          const params = new URLSearchParams({ phone, adId: String(adBase.id) });
          const url = `https://stamandsefer.co.il/appart/new/deleteAd.php?${params}`;
          console.log("שולח בקשה");
      
          try {
              const res = await fetch(url, { method: 'GET' });
              if (!res.ok) throw new Error(`שגיאת HTTP: ${res.status} ${res.statusText}`);
              const response = await res.json();
              console.log('Response:', response);
      
              if (response.status !== "success") {
                  call.id_list_message([{ type: "text", data: "אירעה שגיאה בעת מחיקת המודעה" }]);
                  console.error('שגיאת שרת:', response);
              }
          } catch (err) {
              console.error('שגיאה בשליחת הבקשה:', err.message);
              call.id_list_message([{ type: "text", data: "שגיאה בשליחת המודעה" }]);
          }
      }
      
      

      אשמח כאן גם ל @צדיק-תמים (אתה אחראי על הספריה לא?)

      תגובה 1 תגובה אחרונה
      0
      • צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        מדריכים
        כתב נערך לאחרונה על ידי
        #33

        @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

        gpt מתעקש על הדרך שהוא כתב.
        תראו https://chatgpt.com/share/68f7352d-e9cc-8000-8072-3de179fe6480

        אתה צריך לצאת מהראש של סקריפטים בPHP ולעבור לראש של אפליקציה שרצה קבוע, זה לא שהראוטר "מריץ קובץ" JS לפי הנתיב (לא ברור למה נראה לך שזה טוחן מעבד, להיפך PHP הרבה יותר כבד, ואכמ"ל)
        ממליץ על https://did.li/zg9Hw

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

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

        ע 2 תגובות תגובה אחרונה
        1
        • צדיק תמיםצ צדיק תמים

          @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

          gpt מתעקש על הדרך שהוא כתב.
          תראו https://chatgpt.com/share/68f7352d-e9cc-8000-8072-3de179fe6480

          אתה צריך לצאת מהראש של סקריפטים בPHP ולעבור לראש של אפליקציה שרצה קבוע, זה לא שהראוטר "מריץ קובץ" JS לפי הנתיב (לא ברור למה נראה לך שזה טוחן מעבד, להיפך PHP הרבה יותר כבד, ואכמ"ל)
          ממליץ על https://did.li/zg9Hw

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

          ע מנותק
          ע מנותק
          עידו300
          כתב נערך לאחרונה על ידי
          #34

          @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

          (לא ברור למה נראה לך שזה טוחן מעבד, להיפך PHP הרבה יותר כבד, ואכמ"ל)

          אני רואה איך המעבד מגיע ל100%...

          @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

          אתה צריך לצאת מהראש של סקריפטים בPHP ולעבור לראש של אפליקציה שרצה קבוע

          אני בעד, במה זה מתבטא? במה זה שונה?

          תכלס, איך משנים את זה? מה עושים הלאה?

          יש לי עוד שאלה על הספריה המדהימה הזאת (לגבי השמעת call.id_list_message והמשך ביצוע פעולות), אשאל פה או שאפתח שרשור חדש?

          צדיק תמיםצ ע"ה דכו"עע 2 תגובות תגובה אחרונה
          0
          • ע עידו300

            @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

            (לא ברור למה נראה לך שזה טוחן מעבד, להיפך PHP הרבה יותר כבד, ואכמ"ל)

            אני רואה איך המעבד מגיע ל100%...

            @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

            אתה צריך לצאת מהראש של סקריפטים בPHP ולעבור לראש של אפליקציה שרצה קבוע

            אני בעד, במה זה מתבטא? במה זה שונה?

            תכלס, איך משנים את זה? מה עושים הלאה?

            יש לי עוד שאלה על הספריה המדהימה הזאת (לגבי השמעת call.id_list_message והמשך ביצוע פעולות), אשאל פה או שאפתח שרשור חדש?

            צדיק תמיםצ מנותק
            צדיק תמיםצ מנותק
            צדיק תמים
            מדריכים
            כתב נערך לאחרונה על ידי צדיק תמים
            #35

            @עידו300 קודם כל תראה את הפלייליסט ששלחתי, לפחות את פרקים 1-5
            שאלות ספציפיות על הספריה בנושא נפרד כמובן

            @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

            אני רואה איך המעבד מגיע ל100%...

            זה לא תקין, מה הקוד שלך עושה?

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

            ע תגובה 1 תגובה אחרונה
            0
            • ע עידו300

              @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

              (לא ברור למה נראה לך שזה טוחן מעבד, להיפך PHP הרבה יותר כבד, ואכמ"ל)

              אני רואה איך המעבד מגיע ל100%...

              @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

              אתה צריך לצאת מהראש של סקריפטים בPHP ולעבור לראש של אפליקציה שרצה קבוע

              אני בעד, במה זה מתבטא? במה זה שונה?

              תכלס, איך משנים את זה? מה עושים הלאה?

              יש לי עוד שאלה על הספריה המדהימה הזאת (לגבי השמעת call.id_list_message והמשך ביצוע פעולות), אשאל פה או שאפתח שרשור חדש?

              ע"ה דכו"עע מנותק
              ע"ה דכו"עע מנותק
              ע"ה דכו"ע
              כתב נערך לאחרונה על ידי ע"ה דכו"ע
              #36

              @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

              אני רואה איך המעבד מגיע ל100%...

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

              צדיק תמיםצ ע 2 תגובות תגובה אחרונה
              0
              • צדיק תמיםצ צדיק תמים

                @עידו300 קודם כל תראה את הפלייליסט ששלחתי, לפחות את פרקים 1-5
                שאלות ספציפיות על הספריה בנושא נפרד כמובן

                @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                אני רואה איך המעבד מגיע ל100%...

                זה לא תקין, מה הקוד שלך עושה?

                ע מנותק
                ע מנותק
                עידו300
                כתב נערך לאחרונה על ידי
                #37

                בעז"ה אבל @צדיק-תמים קריטי לי עכשיו החלק של app.use('/login', login);
                שבספריה א"א בגלל שמשתמשים בראוטר אחר.
                אשמח לעזרה (אני צריך להראות דוגמא ללקוח ולא יכול בגלל שלא מצליח לחבר את שתיהן ביחד ולא רוצה לפתוח עוד פורט למרות שבמקרה הצורך זה מה שאעשה..)

                תגובה 1 תגובה אחרונה
                0
                • ע"ה דכו"עע ע"ה דכו"ע

                  @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                  אני רואה איך המעבד מגיע ל100%...

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

                  צדיק תמיםצ מנותק
                  צדיק תמיםצ מנותק
                  צדיק תמים
                  מדריכים
                  כתב נערך לאחרונה על ידי צדיק תמים
                  #38

                  @ע-ה-דכו-ע כתב בבירור | הרצת כמה סקריפטים במקביל:

                  @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                  אני רואה איך המעבד מגיע ל100%...

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

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

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

                  ע 2 תגובות תגובה אחרונה
                  0
                  • ע"ה דכו"עע ע"ה דכו"ע

                    @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                    אני רואה איך המעבד מגיע ל100%...

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

                    ע מנותק
                    ע מנותק
                    עידו300
                    כתב נערך לאחרונה על ידי
                    #39

                    @ע-ה-דכו-ע יש לי 2 ליבות ואני רואה עכשיו שזה על 100% למרות שכלום לא בשימוש 😲 😕

                    תגובה 1 תגובה אחרונה
                    0
                    • צדיק תמיםצ צדיק תמים

                      @ע-ה-דכו-ע כתב בבירור | הרצת כמה סקריפטים במקביל:

                      @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                      אני רואה איך המעבד מגיע ל100%...

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

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

                      ע מנותק
                      ע מנותק
                      עידו300
                      כתב נערך לאחרונה על ידי
                      #40

                      @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

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

                      לא יודע אם חישובים כבדים אבל עושה דברים.

                      תגובה 1 תגובה אחרונה
                      0
                      • צדיק תמיםצ צדיק תמים

                        @ע-ה-דכו-ע כתב בבירור | הרצת כמה סקריפטים במקביל:

                        @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                        אני רואה איך המעבד מגיע ל100%...

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

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

                        ע מנותק
                        ע מנותק
                        עידו300
                        כתב נערך לאחרונה על ידי
                        #41

                        @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

                        זה לא ממש משנה כמה ליבות כי נוד משתמש רק באחת...

                        ובדיוק זו הבעיה...

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

                        תודה

                        צדיק תמיםצ תגובה 1 תגובה אחרונה
                        0
                        • ע עידו300

                          @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

                          זה לא ממש משנה כמה ליבות כי נוד משתמש רק באחת...

                          ובדיוק זו הבעיה...

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

                          תודה

                          צדיק תמיםצ מנותק
                          צדיק תמיםצ מנותק
                          צדיק תמים
                          מדריכים
                          כתב נערך לאחרונה על ידי צדיק תמים
                          #42

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

                          @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                          ובדיוק זו הבעיה...

                          זה לא הבעיה

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

                          ע תגובה 1 תגובה אחרונה
                          2
                          • צדיק תמיםצ צדיק תמים

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

                            @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                            ובדיוק זו הבעיה...

                            זה לא הבעיה

                            ע מנותק
                            ע מנותק
                            עידו300
                            כתב נערך לאחרונה על ידי
                            #43

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

                            בכל מקרה עכשיו יש קשיים אחרים, הPM2 לא מריץ את זה, זאת אומרת כתוב אונליין אבל תכלס שניגשים לכתובת "וְאֵין קוֹל וְאֵין עֹנֶה וְאֵין קָשֶׁב".
                            כשמריצים כרגיל עם node *.js הכל טוב, אבל עם הPM2 לא... וגם כשמוסיפים & זה לא גורם לו להשאר אחרי שהטרמינל נסגר.

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

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

                              השבתתי את זה

                              const isMain = process.argv[1] === fileURLToPath(import.meta.url);
                              if (isMain) {
                              }
                              

                              ועכשיו זה עובד ב"ה

                              תגובה 1 תגובה אחרונה
                              0
                              • צדיק תמיםצ צדיק תמים

                                @עידו300 כתב בבירור | הרצת כמה סקריפטים במקביל:

                                gpt מתעקש על הדרך שהוא כתב.
                                תראו https://chatgpt.com/share/68f7352d-e9cc-8000-8072-3de179fe6480

                                אתה צריך לצאת מהראש של סקריפטים בPHP ולעבור לראש של אפליקציה שרצה קבוע, זה לא שהראוטר "מריץ קובץ" JS לפי הנתיב (לא ברור למה נראה לך שזה טוחן מעבד, להיפך PHP הרבה יותר כבד, ואכמ"ל)
                                ממליץ על https://did.li/zg9Hw

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

                                ע מנותק
                                ע מנותק
                                עידו300
                                כתב נערך לאחרונה על ידי
                                #45

                                @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

                                ממליץ על https://did.li/zg9Hw

                                התחלתי לראות, מאוד טוב אבל מניח ידע מוקדם, הוא לא מסביר את הבסיס של מה שעשה שם, שזה מה שחסר לי.
                                הוא מניח שכולם יודעים מה זה midlleware ומה זה app.get וapp.use מה זה ראוט.

                                צדיק תמיםצ תגובה 1 תגובה אחרונה
                                0
                                • ע עידו300

                                  @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

                                  ממליץ על https://did.li/zg9Hw

                                  התחלתי לראות, מאוד טוב אבל מניח ידע מוקדם, הוא לא מסביר את הבסיס של מה שעשה שם, שזה מה שחסר לי.
                                  הוא מניח שכולם יודעים מה זה midlleware ומה זה app.get וapp.use מה זה ראוט.

                                  צדיק תמיםצ מנותק
                                  צדיק תמיםצ מנותק
                                  צדיק תמים
                                  מדריכים
                                  כתב נערך לאחרונה על ידי
                                  #46

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

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

                                  ע 2 תגובות תגובה אחרונה
                                  0
                                  • צדיק תמיםצ צדיק תמים

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

                                    ע מנותק
                                    ע מנותק
                                    עידו300
                                    כתב נערך לאחרונה על ידי
                                    #47

                                    @צדיק-תמים עכשיו צריך להתחיל את ה5

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • צדיק תמיםצ צדיק תמים

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

                                      ע מנותק
                                      ע מנותק
                                      עידו300
                                      כתב נערך לאחרונה על ידי
                                      #48

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

                                      צדיק תמיםצ תגובה 1 תגובה אחרונה
                                      0
                                      • ע עידו300

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

                                        צדיק תמיםצ מנותק
                                        צדיק תמיםצ מנותק
                                        צדיק תמים
                                        מדריכים
                                        כתב נערך לאחרונה על ידי צדיק תמים
                                        #49

                                        @עידו300 למה לא?
                                        0d4bdd73-9945-45f1-bd97-6ca5c3ac2bd6-CleanShot 2025-10-23 at 21.06.42@2x.png

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

                                        ע תגובה 1 תגובה אחרונה
                                        0
                                        • צדיק תמיםצ צדיק תמים

                                          @עידו300 למה לא?
                                          0d4bdd73-9945-45f1-bd97-6ca5c3ac2bd6-CleanShot 2025-10-23 at 21.06.42@2x.png

                                          ע מנותק
                                          ע מנותק
                                          עידו300
                                          כתב נערך לאחרונה על ידי
                                          #50

                                          @צדיק-תמים כתב בבירור | הרצת כמה סקריפטים במקביל:

                                          @עידו300 למה לא?
                                          a88fe1ff-18c3-4693-928e-d3654ebaa9b6-CleanShot 2025-10-23 at 12.15.08@2x.png

                                          אבל זה הראוטר של הספריה שלך, לא? לא של האקספרס

                                          צדיק תמיםצ תגובה 1 תגובה אחרונה
                                          0

                                          • התחברות

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

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