הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   PHP Cron Jobs (https://hosts.co.il/forums/showthread.php?t=65414)

Daniel 21-07-08 20:40

PHP Cron Jobs
 
אני מעוניין לעשות Cron Jobs - אך בעזרת PHP בלבד. תיהיה לי טבלה במסד המכילה מתי זה יפעל - בדיוק כמו ב-DA. עד עכשיו זה דיי פשוט, אבל, נגיד ואני מעוניין שזה יפעל כל 8 שעות - נגיד. איך אני אעשה את זה? זה אפשרי בכלל?

DvirCohen 21-07-08 21:07

אני לא חושב שאפשר לעשות דבר כזה בלי שמישהו יגלוש באתר.
אני די בטוח שאיפשר, כי הרי קוד הPHP רץ רק ברגע שמישהו מגיע לקובץ, ואם אפחד לא גולש באתר הקובץ לא נפתח.

אתה יכול לעשות למשל משהו כל 8 שעות, אבל אתה תצטרך להיכנס לקובץ כל 8 שעות כדי שהבדיקה תתבצע..

זאת דעתי

Daniel 21-07-08 21:12

ציטוט:

נכתב במקור על ידי DvirCohen (פרסם 652498)
אני לא חושב שאפשר לעשות דבר כזה בלי שמישהו יגלוש באתר.
אני די בטוח שאיפשר, כי הרי קוד הPHP רץ רק ברגע שמישהו מגיע לקובץ, ואם אפחד לא גולש באתר הקובץ לא נפתח.

אתה יכול לעשות למשל משהו כל 8 שעות, אבל אתה תצטרך להיכנס לקובץ כל 8 שעות כדי שהבדיקה תתבצע..

זאת דעתי

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


זה לא אפשרי לעשות ממש CJ, אבל אני שואל האם לפי דעתכם יש רעיון תאורטי שיכול לעזור

דניאל 21-07-08 21:23

אגב אגב,
לDA כן יש CJ (של המע' עצמה).

Pizza 21-07-08 22:27

שמתבסס על cron-ים שהמערכת מריצה (מוסיפה אותם בזמן ההתקנה)

DanielS 21-07-08 22:33

ציטוט:

נכתב במקור על ידי MasterT (פרסם 652491)
אני מעוניין לעשות Cron Jobs - אך בעזרת PHP בלבד. תיהיה לי טבלה במסד המכילה מתי זה יפעל - בדיוק כמו ב-DA. עד עכשיו זה דיי פשוט, אבל, נגיד ואני מעוניין שזה יפעל כל 8 שעות - נגיד. איך אני אעשה את זה? זה אפשרי בכלל?

מה הבעיה ?
אתה שם כל כמה זמן אתה רוצה לעדכן.
ומוסיף שדה של הזמן האחרון שזה עודכן ואז פשוט בודק אם עברו מאז 8 שעות :)
פשוט וקל.

ולבעיה שאם אף אחד לא נכנס גם כן לא בעיה.
אתה פשוט בודק אם נגיד עברו 8 שעות פעמיים נגיד חח אז אתה מריץ פעמיים . כאילו זה התעדכן כל 8 שעות באמת כשלא נכנסו :)

Daniel 22-07-08 00:38

ציטוט:

נכתב במקור על ידי DanielS (פרסם 652529)
מה הבעיה ?
אתה שם כל כמה זמן אתה רוצה לעדכן.
ומוסיף שדה של הזמן האחרון שזה עודכן ואז פשוט בודק אם עברו מאז 8 שעות :)
פשוט וקל.

ולבעיה שאם אף אחד לא נכנס גם כן לא בעיה.
אתה פשוט בודק אם נגיד עברו 8 שעות פעמיים נגיד חח אז אתה מריץ פעמיים . כאילו זה התעדכן כל 8 שעות באמת כשלא נכנסו :)

אני אומר, ללא! ללא, בלי.

זה בסדר כאשר כמו שאמרתי - כשזה תלוי-משתמש. אבל כאשר אני רוצה שכל 8 שעות.... זה ישלח לי מייל?

Inet 22-07-08 00:45

אין אפשרות...

Daniel 22-07-08 01:00

ציטוט:

נכתב במקור על ידי Inet (פרסם 652565)
אין אפשרות...

דווקא עכשיו חשבתי על רעיון. אתה צריך פעם ראשונה להפעיל את זה - ולשים לזה אינסוף max_execution_time. זה יעשה sleep למשך זמן של 8 שעות, ויעשה את הפעולה. והרעיון שגם כשהמשתמש יוצא - הסקריפט עדיין ממשיך. עכשיו, כל 8 שעות זה "מודיע" שהוא עשה את הבדיקה. המערכת כל פעם שנכנסים אליה - בודקת אם הוא "דיווח" כראוי. למה? כי יכול להיות שעשו ריסטרט לשרת. אם הוא לא דיווח כראוי - אז זה מפעיל אותו מחדש. מה דעתכם? האם סקריפט שיעשה sleep למשך 8 שעות יתפוס משאבים על השרת?

mlnn 22-07-08 01:03

אפשר להריץ סקריפט אינסופי בPHP, אבל כנראה שהשרת יעצור אותו מתישהו.


כל הזמנים הם GMT +2. הזמן כעת הוא 13:37.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ