
07-03-2007, 01:13
|
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,778
|
|
שתי אפשרויות:
אם יש לך מספיק תעבורה באתר, תוכל לבנות טיימר מבוסס קובץ או שורה במסד הנתונים, שבו יהיה כתוב "מתי צריכה להתבצע הריצה הבאה" - ובדף מסויים באתר שלך, תבדוק תמיד האם הפעולה חלף הזמן הזה. כשהוא חלף, הרץ את הסקריפט שמבצע את הפעולה, ובסיומו, הזן זמן חדש לקובץ/שורה במסד הנתונים עם הזמן החדש.
זה כמובן יפעיל את המשימה ה"מתוזמנת" שלך בכניסה הראשונה אחרי שפקע ה"טיימר" על ידי כניסה של גולש לדף שבו עשית את הטריגר הזה - מה שאומר שאתה סומך על גולשים.
שיטה אחרת לעשות את זה, והיא השיטה הנכונה, היא להשתמש במנגנון תזמון אמיתי, כזה שקיים במערכת ההפעלה של השרת. בחלונות יש את ה Task Scheduler (אהמ, תתעלם מההערה שלי קודם לגבי "אמיתי" ), ובלינוקס/יוניקס יש את מנגנון cron. יש מספר סוגים של cron, אבל זה לא משנה. לכולם אפשר לתת זמן/תדירות שבה יש לבצע משימה מסויימת, אפילו אם היא קובץ PHP (כמובן, שבשביל זה צריך או שתהיה מותקנת גירסת ה CLI של PHP על השרת, או שהמשימה המתוזמנת תשתמש בלקוח HTTP כדי לגשת לכתובת באתר שתריץ את הסקריפט). בכל מקרה, בשביל לעבוד עם השיטה הזאת, אתה חייב גישה להוספת משימות מתוזמנות על השרת שלך...
סה טו
|