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

הוסטס - פורום אחסון האתרים הגדול בישראל (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 05-12-07 23:12

איך אפשר לעשות שקובץ ירוץ כל דקה?
 
איך אפשר לעשות שקובץ ירוץ כל דקה? אולי עם cron jobs או משהו? אני לא מבין בזה...
והאם השרת לא ייתקע?

תודה,

4ior 05-12-07 23:30

cron jobs

miniature 05-12-07 23:34

ציטוט:

נכתב במקור על ידי 4ior (פרסם 587518)
cron jobs

איך אני עושה את זה עם cron jobs?
ומה בקשר לשאלה השניה?

Ofir|Execute.co.il 05-12-07 23:51

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

miniature 06-12-07 00:24

ציטוט:

נכתב במקור על ידי Ofir| Fore.co.il (פרסם 587527)
תהליך שרץ בכל דקה עלול לגרום להאטה בשרת.. לגבי עזרה בהגדרות ה CronJob אתה מוזמן לפנות אלי לאייסי (בחתימה)

תודה אבל כרגע זה בגדר תיאוריה.. אני עוד לא מבצע את זה על השרת. רק רציתי לדעת בכלליות. :)
אפשר לנעול.

reXtea 06-12-07 01:39

ציטוט:

נכתב במקור על ידי Ofir| Fore.co.il (פרסם 587527)
תהליך שרץ בכל דקה עלול לגרום להאטה בשרת.. לגבי עזרה בהגדרות ה CronJob אתה מוזמן לפנות אלי לאייסי (בחתימה)

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

בכ"מ הדרך היא באמת cron jobs... ואתה יכול להגדיר את הcron jobs דרך הda אם בעל החשבון / שרת שלך אישר לך גישה לcron jobs.

S-Preso 06-12-07 03:15

נצל"ש
בעבר ניסיתי להגדיר דרך ה cj משהו שירוץ ולא הצלחתי, מישהו יודע למה?
מה רושמים בשורת הכתובת בדיוק? אפשר דוגמא?

והאם זה יכול להאט את השרת אם בודקים כל דקה?

בניה 06-12-07 07:52

כמו שreXtea אמר.
זה ישפיע אולי טיפה יותר מאשר מישהו שיכנס לדף עם הדפדפן.

בנוגע לפקודה שצריך להריץ.
או שכותבים

קוד:

php /pah/to/file/
או שגם אפשר
קוד:

wget http://url.to/file.php
מבחינת הזמנים בDA יש הסבר איך בדיוק מגדירים, אבל אם אתה צריך עזרה אתה יכול לשאול פה.

S-Preso 06-12-07 20:48

עשיתי ככה:
קוד:

php /home/myuser/domains/mydomain.co.il/public_html/mydictory/thefile.php
זה בסדר?

mayden 06-12-07 20:51

קוד:

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

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 מהסיבה שזה פשוט לא יעיל ויש דרכים הרבה יותר טובות לעשות את מה שצריך לעשות... בכ"מ זה מה שהוא ביקש ולכן אמרתי לו איך לעשות...

erezse 09-12-07 17:38

אתה יכול במקום להשתמש ב- cronjob לבדוק כמה דקות עברו מהכניסה האחרונה של אותו משתמש לאתר(במידה וזה מערכת של גולשים)
ואז לעשות את החישובים בהתאם

omaniusd 09-12-07 18:41

ציטוט:

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

אם זה רק עבודה ב-DB אפשר גם לעשות ג'ובים בשרת SQL. העניין הוא לא מה חיפשת, העניין הוא למה חיפשת את זה.

psycho 09-12-07 18:47

Cronjob's נורא יעילים, לאו דווקא תמיד מעורבים משתמשים שצריכים לבצע את אותם פעולות באתר, ואני לא מסכים איתכם לגבי שלכל דבר יש פתרון שהוא יותר יעיל מקרוןג'וב.

בכל מקרה, ישנה הגדרה ב CRONJOB ב MINUTES שאפשר להגדיר ל
*/1
או משהו בסגנון, שאומר לו כל דקה להפעיל קובץ מסויים.

בהצלחה

miniature 10-12-07 02:44

ציטוט:

נכתב במקור על ידי omaniusd (פרסם 589056)
אם זה רק עבודה ב-DB אפשר גם לעשות ג'ובים בשרת SQL. העניין הוא לא מה חיפשת, העניין הוא למה חיפשת את זה.

העניין הוא ממש לא למה חיפשתי את זה. אמרתי מה אני מנסה לעשות - להפעיל קובץ אוטומטית כל דקה בלי התערבות של המשתמש (ובמקרה דומה, לשנות משתנה כלשהו בכל דקה).

miniature 15-12-07 19:00

http://www.hosts.co.il/forums/showpo...97&postcount=6
טוב נו.. הקפצה.

Tomer 15-12-07 19:04

תזכיר לי מי אישר לך להקפיץ את האשכול ?

קיבלת אזהרה, והאשכול ננעל. אתה לא חדש כאן.


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

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