![]() |
טעינה מאוחרת של פונקציה PHP -איך
אני רוצה שכל העמוד וכל הפונקציות PHP יטענו
חוץ מפונקציהאחת ב PHP שהיא תטען לאחר 20 שניות איך עושים זאת בבקשה? תודה |
מה המטרה של הדיליי?
אולי עדיף להשתמש ב ajax לקריאה של הפונקציה כי בעקרון הדף לא מוצג למשתמש אם לא כולו נטען |
בעיקרון אפשר להוציא פלט לפני שהקוד מסיים לרוץ (חפש: "php flush") אבל אני לא בטוח עד כמה הפתרון הזה מתאים עבורך.
כדאי שתסביר מה אתה מנסה לעשות. |
ציטוט:
אבל לא בטוח שזה פתרון טוב, גם לא כל אחסון תומך בזה |
אתה רוצה שמידע ישלח מהשרת לדפדפן רק אחרי 20 שניות, או שמשהו יקרה בשרת רק אחרי 20 שניות מסיום עיבוד הבקשה(נניח שליחת מייל או עדכון רשומה בDB)
אם אתה רוצה שיהיה מידע זמין רק אחרי 20 שניות, אני הייתי הולך על בקשת AJAX ולא מעכב את סיום עיבוד הדף בשרת. אבל זה כן אפשרי, זה סוג של long polling/big pipe אם זו האופציה השנייה, אפשר לעשות SLEEP אבל זה בעסה ויתקע לך מלא פרוססים של השרת WEB/PHP ככה שזה לא כ"כ סקיילאליבי הכי טוב זה להכניס את זה לאיזה queue. אבל אם אתה רוצה את הדבר הכי פשוט שעובד אפשר להתחיל בזה |
ציטוט:
SLEEP תוקע הכל לא כדאי מה הכוונה להכניס ב queue |
בגדול, יש jobs servers שיכולים לעשות את העבודה אבל במקרה שלך זה משהו פשוט יותר.
אני הייתי מעדכן מיד את הרשומה עם flag ו timestamp או אפילו רק timestamp של מתי הבקשה התרחשה וכשאני בא לשלוף את הנתונים שזה אמור לעניין אותם, הם יבדקו באיזה שורות עברו יותר מה20 שניות מאז ה timestamp לחלופין, אפשר להריץ cron job שיעשה את זה. |
תוסיף flush לפני הsleep.
החיסרון היחידי שהפונקציה הזאת תחזיק לך המון פרוססים באוויר. דבר נוסף. Php סוגר יישומים אחרי 30 שניות אז אין לך הרבה זמן. |
כל הזמנים הם GMT +2. הזמן כעת הוא 18:08. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ