04-04-14, 20:19 | # 1 |
חבר וותיק
|
Sleep ב PHP
שלום.
אני מעוניין שתעשה פעולה כל 5 דקות. יש לי דף שנקרא abc.php ושם נמצאת הפעולה. את הדף הזה אני מכליל כל 5 דקות בדף שנקרא test.php, אני מעוניין שאבצע כניסה ל test.php ומאותו רגע הפעולה שבדף abc תתבצע כל 5 דקות 3 פעמים, כלומר תתבצע ברגע הכניסה, לאחר 5 דקות תתבצע שוב ולאחר 5 דקות תתבצע שוב, כלומר 3 פעמים ברבע שעה לצורך הדוגמא. PHP קוד:
מדוע? אולי הדף "מת" אחרי דקה, שתיים, 4? אשמח לעזרה.. תודה.
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 Last edited by dor77; 04-04-14 at 20:21.. |
04-04-14, 20:34 | # 2 |
עסק רשום [?]
|
תגדיר פונקציה ותריץ אותה בלולאה - אחרי כל ריצה הלולאה תחכה X זמן ותרוץ שוב, עד 3 פעמים.
בנוסף, תבטל את מגבלת זמן הריצה של הסקריפט: http://davidwalsh.name/increase-php-...-limit-ini_set בכל אופן - מה אתה עושה ולמה? זה נשמע קצת עקום. אפשר להעביר את זה ל- cron job? |
04-04-14, 21:45 | # 3 |
חבר בקהילה
|
cron jobs...
|
04-04-14, 22:24 | # 4 |
חבר וותיק
|
חברה אני יודע שcron זה הפיתרון.
פשוט אני צריך את זה רק לכמה ימים בודדים וחבל לי לקנות חבילת איחסון.. בגלל זה עשיתי את הפיתרון הצולע הזה. בכל אופן הייתה בעיה, הדף שאני קורא לו כל הזמן הכיל פונקציה ולכן בפעם השנייה הסקריפט היה נופל שהפונקציה כבר הייתה קיימת..זו לפחות השגיאה שקיבלתי. הסתדרתי תודה רבה בכל אופן!
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 |
05-04-14, 03:42 | # 5 |
חבר מתקדם
|
בקשר לבעיה שלך, שים את הגדרת הפונקציה בתנאי
PHP קוד:
__________________
HIGHDESIGN.co.il עיצוב ובניית אתרים. |
05-04-14, 04:03 | # 6 |
חבר וותיק
|
מסד? למה?
אני צריך שאני אכנס לדף, הדף ישאר פתוח ויבצע פונקציה כלשהי כל 5 דקות במשך 15 דקות כלומר 3 פעמים. אני אצטרך לשלוף את השדה של ה5 דקות בכל שנייה.. במה זה עדיף על sleep? תודה.
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 |
05-04-14, 09:38 | # 7 |
חבר וותיק
|
ממליץ להשתמש בCRON JOBS
או להשתמש בjquery בצורה הבאה: קוד:
$(function() { $.get( "abc.php" ); // קובץ ראשון setTimeout(function() { $.get( "abc-2.php" ); // קובץ שני אחרי 5 דקות setTimeout(function() { $.get( "abc-2.php" ); // קובץ שלישי אחרי עשר דקות מהתחלה }, 300000); }, 300000); }); |
05-04-14, 11:16 | # 8 |
עסק רשום [?]
|
לפי התיאור שלך עד כה: אתה לא צריך מסד-נתונים, cron job לא מתאים לך והעברת התזמון לצד-הלקוח לא בהכרח יהיה נכון.
מסתמן שהפתרון עם sleep זה באמת הפתרון המתאים, אבל אתה מבקש פתרון לפתרון, במקום פתרון לבעיה - אז אנחנו יכולים רק לנחש. גם עכשיו, אמרת שפתרת את זה, לא אמרת איך - לעשות 3 includes זה גרוע, בדיוק בשביל זה קיימות לולאות. |
05-04-14, 11:47 | # 9 |
חבר וותיק
|
בדיוק, עשיתי לולאה, אבל זה לא עובד משהו..
עכשיו הוספתי PHP קוד:
העניין הוא שכרגע אני מאוחסן בסתם שרת חינמי (שוב זה לכמה ימים בלבד)..אתם חושבים שתהיה להם בעיה עם הפקודה הזו? זה משהו שהם פחות אוהבים? זה יכול לגרום לבעיות? תודה. עריכה: גם עם max_execution_time זה לא עובד (הוספתי את זה ממש בפתיחת הדף, מתחת ל <?php). כאילו 5 דקות זה יותר מדי זמן. לא מבין מה קורה פה..זה אמור לעבוד.
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 Last edited by dor77; 05-04-14 at 11:51.. |
05-04-14, 12:27 | # 10 |
משתמש - היכל התהילה
|
אני מאמין שהם לא יתנו לך לבצע את הפקודה הזאת.
רוב השירותים החינמיים חוסמים את האפשרות לשנות את ההגדרות דרך הקובץ. ולהשתמש ב sleep \ ב long polling על שרת חינמי לא נראה לי ממש אופציה (יותר מזה, בשימוש ב long polling תצתרך להשאיר את הדפדפן פתוח), וב sleep זה יטחן את השרת.. אין לך ברירה של cron job ואם אין לך, תנסה למצוא מישהו שיש לו, שיעשה שכל 5 דקות זה יגש לקובץ בשרת שלך (אתה פשוט יכול להגדיר כתובת שהוא יגש אילו כל פעם ויריץ אותו) |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|