15-02-2008, 15:31
|
|
|
|
חבר מתאריך: 28.10.01
הודעות: 2,337
|
|
שימי, ברשותך אני אנסה :)
CRON אינו מחויב לעבוד רק על בסיס השרת עצמו (כמשימה מתוזמנת במערכת הפעלה).
במה ששימי הסביר זה דוגמא מצויינת לאיך לנצל את האפלקציה לצורך ביצוע משימות מתוזמנת, ללא צורך בקישור אל מערכת ההפעלה, אלא ע"י האפלקציה עצמה.
במקרה שהאפלקציה יוצרת משימה מתוזמנת לעצמה, אנו שומרים את פרטי המשימה בDB.
כאשר לקוח מבקש להריץ דף באפלקציה (ולא משנה איזה), האפלקציה מבצעת בדיקה מה השעה והאם יש משימה שעליה להריץ. אם כן, היא מריצה (וכאן אין שום קשר לשרת ולמערכת ההפעלה).
האופציה השניה היא CRON JOB של השרת עצמו (או schedule task בWIN).
פה המצב יותר בעייתי, ולא אפשרי לבצע את זה ישירות מPHP (אלא אם כן יש לך שרת פרטי והאתר שלך רץ בהרשאות ROOT או Administrator בהתאם - וקח את זה בערבון כי יש שרתים שיתופיים שכן נותנים).
כאן נדרשת התערבות של פנאל הניהול והגדרות ידניות, וזה באמת רץ ע"י השרת עצמו.
מה ההבדל בניהם?
כאשר אתה מריץ את זה ע"י השרת יש לך יעד זמנים קבוע ומדוייק, אין סיכוי שתהיה טעות בשעת התזמון (אלא אם כן השרת כבוי או תקוע). יש לזה יתרונות וזה חשוב בעיקר אם מדובר בשרת ארגוני שעליו מריצים דוחות לילה (סתם דוגמא). כאן מדובר במשהו שהוא MUST ולא יכול לחכות לבוקר או במקרה שמישהו ילחליט לגשת לאפלקציה (בסוף מדובר גם בחלוקת עמוסים)
לעומת זאת, בתצורה של האפלקציה אין התחייבות שזה ירוץ בדיוק בשעה X, אם גולש נכנס בשעה X זה ירוץ בזמן, ואם לא אז זה ירוץ יותר מאוחר.
בסוף כשמדובר באפלקציה כמו פורום, זה פחות קריטי ויותר הגיוני להשתמש בתצורה הזו.
אני מקווה שזה עשה לך קצת סדר בדברים, ואם יש שאלות נשמח לעזור.
_____________________________________
בברכה,
נערך לאחרונה ע"י idonet בתאריך 15-02-2008 בשעה 15:34.
סיבה: בלה בלה...
|