הרצה במקביל של קבצים

orenphp

New member
הרצה במקביל של קבצים

אני רוצה לבנות עמוד "אב": parent.php אשר הוא בעצם יריץ במקביל מספר "בנים" עם פרמטרים מסוימים אשר ינתחו תוצאות ויכניסו אותם למסד במקביל (הדגש על המקביל) חשבתי על לעשות את זה עם: include "http://127.0.0.1/son.php?action=1"; include "http://127.0.0.1/son.php?action=2"; ושבקובץ son.php יהיו פונקציות אשר יבחרו ע"י המשתנה action (עם switch). אני לא חושב שזה עובד כמו שצריך (במקביל). אם למישהו יש פיתרון או דרך אני אודה לו מאוד. אורן
 

shanor

New member
אז ככה:

לי אישית הדבר נראה כתיסבוך של דבר שלא אמור להיות מסובך כל כך, אבל זה רק מההסבר שלך, תן יותר פירוט של מה אתה רוצה לעשות ולמה דווקא ככה. העיקרון הוא שהפונקציות שנמצאות בקבצי INC, הן פונקציות לכל דבר כאילו היו כתובות כחלק מהדף, אם אתה מנסה להריץ פעמיים את הקובץ של SON.PHP, זה לא יעבוד כי הפיענוח של הסקריפט הוא בכל מקרה - סדרתי, משמע אין פיענוח מקבילי של אותה בקשה לדף HTML. לפי דעתי אתה מתבלבל כאן עם העובדה ששרת אינטרנט יכול במקביל להריץ כמה פעמים את אותו הדף (הסקריפט או מה שלא יהיה) וכן הוא מריץ את הבקשות במקביל אבל כל סקריפט (של כל בקשה) רץ באופן סידרתי לפי התיכנות שלו. אם הכוונה שלך היא לבנות כמה מצבים לפי המתשנה ACTION שמגיע מטופס כל שהוא (לא ממליץ לקרא למשתנה ACTION... כי אתה יש לך ACTION כפרמטר של ה-FORM בקובץ ה- HTML), אז תבנה פונקציה פשוטה של למשל SWITCH..CASE, על פי המתשנה שלך. מקווה שלא תיסבכתי אותך יותר. בהצלחה שנאור.
 

orenphp

New member
המממ הנה פירוט רחב יותר

בעמוד "אב" כמו שכתבתי לעיל, אני יוצר מערך אשר משמעותו לסמל איזה בן פועל ואיזה בן לא פועל $flag[´tapuz´]=0; לאחר מכן אני קורא לעמוד הבן עם פרמטר מסוים על מנת שיתחיל לסנכרן תוצאות ולשמור אותם. <div align=left> fputs($fp,"GET view.php?site=$name&keyword=$keyword HTTP/1.0\n\n"); fclose($fp); בסיום הפעולה אני מעדכן את הדגל ל 1 (מסמל על זה שה"בן" פנוי לבקשה נוספת) וכך אני שוב קורא לו, כלומר ישנה לולאה אשר סופרת sleep(1) ובודקת כל פעם איזה מן ה"בנים" ריק וקוראת לו כדי שיעשה פעולה מסוימת.. אני יודע שזה נשמע מסובך אבל זה מאוד יעיל בפועל, כי ניתן ככה לסנכרן נגיד מ50 אתרים ולקבל תוצאות במקביל!
 

shanor

New member
בוא ננסה את זה שוב...

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

orenphp

New member
הצלחתי, אני מוכן לפרט למעוניין

העניין הוא שהרעיון מורכב אך הקוד פשוט ואלגנטי. אם מישהו רוצה לדעת צרו איתי קשר: ICQ:60616075
 
למעלה