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

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

miniature 08-12-07 17:32

יש לי עוד שאלה בנוגע ל Cron Jobs:
לפי הקודים שהבאתם כאן ראיתי שצריך לתת מיקום כלשהו לקובץ שירוץ, אבל אם זה כך, כל אחד יוכל להריץ את הקובץ הזה. אני מחפש דרך שבה רק דרך ה Cron Job ירוץ הקובץ / קוד PHP.

רומן 08-12-07 17:41

פשוט שים את התיקיה שהקובץ נמצא בה כתיקייה מוגנת בסיסמא..

Meir 08-12-07 18:14

או לשים את הקובץ בתיקייה שאינה ניתנת לגישה דרך דפדפן (כלומר מחוץ לpublic_html).

miniature 08-12-07 18:32

אין דרך יותר פשוטה?

omaniusd 08-12-07 20:48

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

reXtea 09-12-07 01:32

ציטוט:

נכתב במקור על ידי omaniusd (פרסם 588705)
כדרך אגב, משימה מהסוג הזה, שרה כל דקה, עלולה בפוטנציאל לגרום לעומס - ובכלל, הרבה פעמים סתם עושים את זה בלי סיבה אמיתית.
למה אתה צריך להריץ סקריפט כל דקה? מה הדבר הקריטי שדורש את זה?

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

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

בכ"מ לשאלה שלך איך למנוע מהמשתמשים להיכנס לקובץ, פשוט שים אותו בתייקיה private_html ותכוון את הcron job ליעד החדש:
PHP קוד:

/usr/local/bin/php -/home/myuser/domains/mydomain.co.il/private_html/mydictory/thefile.php 

בהצלחה.

omaniusd 09-12-07 06:45

ציטוט:

נכתב במקור על ידי reXtea (פרסם 588837)
כמו שאמרתי מקודם, סקריפט שרץ כל דקה, לא אמור לגרום שום עומס, זה בדיוק כמו שמשתמש יכנס לאותו סקריפט כל דקה ... הכל תלוי בסקריפט עצמו ...

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

בכ"מ לשאלה שלך איך למנוע מהמשתמשים להיכנס לקובץ, פשוט שים אותו בתייקיה private_html ותכוון את הcron job ליעד החדש:
PHP קוד:

/usr/local/bin/php -/home/myuser/domains/mydomain.co.il/private_html/mydictory/thefile.php 

בהצלחה.

כתבתי "בפוטנציאל". אבל סקריפט שרץ כל דקה מראה על איזושהי בעייה ברמת התכנון. רק מערכות שמאד חשובה העבודה בזמן אמת [עדכון פרטי בנק וסנכרון של משיכות אחרונות, למשל] צריכות סקריפט כזה באמת. בהרבה מקרים, אין ממש צורך בדבר כזה.
אני אביא לך דוגמא מהמציאות - פעם נתקלתי במישהו שבנה מערכת שמביאה לך כתובת אימייל זמנית ל-20 דקות. הוא כתב סקריפט, שרץ כל דקה, בשביל למחוק מהDB את החשבונות הלא תקפים.
זה תכנון שגוי - ופה זה באמת יכול לגרום לעומס. לרוץ על DB שלם ולעבור על כל הרשומות שלו (נניח שלא מדובר על DB קטן, אלא גדול) כדי לבדוק למי עבר הזמן - זה מטורף.
במקום זה, ההמלצה שלי עבורו הייתה שברגע שמשתמש מתחבר לחשבון שלו, ייבדק האם החשבון עדיין בתוקף, ואם לא יימחק.
כי שורה נוספת בDB זולה יותר מכל הבחינות מלרוץ על כל הטבלה כל דקה.

Tomer 09-12-07 08:43

ציטוט:

נכתב במקור על ידי reXtea (פרסם 588837)
כמו שאמרתי מקודם, סקריפט שרץ כל דקה, לא אמור לגרום שום עומס, זה בדיוק כמו שמשתמש יכנס לאותו סקריפט כל דקה ... הכל תלוי בסקריפט עצמו ...

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

בכ"מ לשאלה שלך איך למנוע מהמשתמשים להיכנס לקובץ, פשוט שים אותו בתייקיה private_html ותכוון את הcron job ליעד החדש:
PHP קוד:

/usr/local/bin/php -/home/myuser/domains/mydomain.co.il/private_html/mydictory/thefile.php 

בהצלחה.

private_html יהיה נגיש דרך https://www.domain.com/file.php

miniature 09-12-07 16:01

ציטוט:

נכתב במקור על ידי omaniusd (פרסם 588889)
כתבתי "בפוטנציאל". אבל סקריפט שרץ כל דקה מראה על איזושהי בעייה ברמת התכנון. רק מערכות שמאד חשובה העבודה בזמן אמת [עדכון פרטי בנק וסנכרון של משיכות אחרונות, למשל] צריכות סקריפט כזה באמת. בהרבה מקרים, אין ממש צורך בדבר כזה.
אני אביא לך דוגמא מהמציאות - פעם נתקלתי במישהו שבנה מערכת שמביאה לך כתובת אימייל זמנית ל-20 דקות. הוא כתב סקריפט, שרץ כל דקה, בשביל למחוק מהDB את החשבונות הלא תקפים.
זה תכנון שגוי - ופה זה באמת יכול לגרום לעומס. לרוץ על DB שלם ולעבור על כל הרשומות שלו (נניח שלא מדובר על DB קטן, אלא גדול) כדי לבדוק למי עבר הזמן - זה מטורף.
במקום זה, ההמלצה שלי עבורו הייתה שברגע שמשתמש מתחבר לחשבון שלו, ייבדק האם החשבון עדיין בתוקף, ואם לא יימחק.
כי שורה נוספת בDB זולה יותר מכל הבחינות מלרוץ על כל הטבלה כל דקה.

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

reXtea 09-12-07 16:58

ציטוט:

נכתב במקור על ידי omaniusd (פרסם 588889)
כתבתי "בפוטנציאל". אבל סקריפט שרץ כל דקה מראה על איזושהי בעייה ברמת התכנון. רק מערכות שמאד חשובה העבודה בזמן אמת [עדכון פרטי בנק וסנכרון של משיכות אחרונות, למשל] צריכות סקריפט כזה באמת. בהרבה מקרים, אין ממש צורך בדבר כזה.
אני אביא לך דוגמא מהמציאות - פעם נתקלתי במישהו שבנה מערכת שמביאה לך כתובת אימייל זמנית ל-20 דקות. הוא כתב סקריפט, שרץ כל דקה, בשביל למחוק מהDB את החשבונות הלא תקפים.
זה תכנון שגוי - ופה זה באמת יכול לגרום לעומס. לרוץ על DB שלם ולעבור על כל הרשומות שלו (נניח שלא מדובר על DB קטן, אלא גדול) כדי לבדוק למי עבר הזמן - זה מטורף.
במקום זה, ההמלצה שלי עבורו הייתה שברגע שמשתמש מתחבר לחשבון שלו, ייבדק האם החשבון עדיין בתוקף, ואם לא יימחק.
כי שורה נוספת בDB זולה יותר מכל הבחינות מלרוץ על כל הטבלה כל דקה.

זה נכון... אני בחיים לא השתמשתי בcron jobs מהסיבה שזה פשוט לא יעיל ויש דרכים הרבה יותר טובות לעשות את מה שצריך לעשות... בכ"מ זה מה שהוא ביקש ולכן אמרתי לו איך לעשות...


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

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