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

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

Gal Shafrir 27-01-07 20:00

[שאלה] מתזמן משימות
 
אני עובד עכשיו על דף שבודק כמה כניסות ייחודיות ביום יש לדף.

עכשיו סיימתי עם החלק של ה-מסד, כלומר יש לי את כל הנתונים שאני צריך
ועכשיו אני צריך לדעת איך אני מוחק את הטבלה כל 24 שעות.

מישהו יודע איך עושים את זה? תודה לעוזרים. |לב|

omercnet 27-01-07 20:08

או שתשתמש בcron כדי להריץ sql
או שפשוט תשים בחלק מהמערכת שמעדכנת את הטבלה הזאתי, מין בדיקה, שתראה מתי הרשומה האחרונה, ואם התאריך עבר ביום, אז למחוק הכל

eLad 27-01-07 20:13

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

בעיקרון יש שני פתרונות:

1. פתרון ברמת מסד. אם אתה משתמש ב SQL SERVER או ORACLE אתה יכול להגדיר JOB שכל 24 שעות ימחק את הטבלה (או כל זמן מוגדר אחר)

2. פתרון ברמת שרת. תריץ משימה מתוזמנת על השרת (scheduled task) שתקרא לקובץ כלשהו שיבצע את פעולת המחיקה ע"י התקשרות למסד.

Gal Shafrir 27-01-07 20:17

אני עובד ב-PHP, ב-mysql

איך עושים את זה זאת בדיוק הייתה השאלה שלי ..

1. פתרון ברמת מסד. אם אתה משתמש ב SQL SERVER או ORACLE אתה יכול להגדיר JOB שכל 24 שעות ימחק את הטבלה (או כל זמן מוגדר אחר)? איך .. ?

eLad 27-01-07 20:23

ציטוט:

נכתב במקור על ידי DJ G.S (פרסם 413489)
אני עובד ב-PHP, ב-mysql

איך עושים את זה זאת בדיוק הייתה השאלה שלי ..

1. פתרון ברמת מסד. אם אתה משתמש ב SQL SERVER או ORACLE אתה יכול להגדיר JOB שכל 24 שעות ימחק את הטבלה (או כל זמן מוגדר אחר)? איך .. ?

mySQL לא מכיל אפשרות למשימה מתוזמנת בתוכו ככה שאתה לא יכול להשתמש בזה באפליקציה שלך. לעומת זאת, SQL SERVER כן מכיל פיצ'רים כאלו.

בכל מקרה, לשאלתך, תצטרך לבנות קובץ PHP כלשהו שיתחבר למסד וימחק את הרשומות בטבלה ופשוט תגדיר משימה מתוזמנת שתקרא כל 24 שעות לקובץ הנ"ל. ההגדרה הזו צריכה להיות ברמת השרת שלך (CJ בלינוקס, scheduled task בווינדוס).

ואם אין לך אפשרות למשימה מתוזמנת על השרת, תצטרך לעקוף את זה ע"י הקוד שלך שפשוט יבדוק מה היום שבו אתה נמצא והאם זו הכניסה הראשונה היום (לאפס את הטבלה) או לא.

omercnet 27-01-07 20:26

ציטוט:

נכתב במקור על ידי eLad (פרסם 413493)
mySQL לא מכיל אפשרות למשימה מתוזמנת בתוכו ככה שאתה לא יכול להשתמש בזה באפליקציה שלך. לעומת זאת, SQL SERVER כן מכיל פיצ'רים כאלו.

בכל מקרה, לשאלתך, תצטרך לבנות קובץ PHP כלשהו שיתחבר למסד וימחק את הרשומות בטבלה ופשוט תגדיר משימה מתוזמנת שתקרא כל 24 שעות לקובץ הנ"ל. ההגדרה הזו צריכה להיות ברמת השרת שלך (CJ בלינוקס, scheduled task בווינדוס).

ואם אין לך אפשרות למשימה מתוזמנת על השרת, תצטרך לעקוף את זה ע"י הקוד שלך שפשוט יבדוק מה היום שבו אתה נמצא והאם זו הכניסה הראשונה היום (לאפס את הטבלה) או לא.

למה לעשות PHP ולהריץ אותו?
לא יותר פשוט לעשות קובץ SQL ולהריץ אותו?

meshuga 27-01-07 20:27

ציטוט:

נכתב במקור על ידי eLad (פרסם 413493)
mySQL לא מכיל אפשרות למשימה מתוזמנת בתוכו ככה שאתה לא יכול להשתמש בזה באפליקציה שלך. לעומת זאת, SQL SERVER כן מכיל פיצ'רים כאלו.

בכל מקרה, לשאלתך, תצטרך לבנות קובץ PHP כלשהו שיתחבר למסד וימחק את הרשומות בטבלה ופשוט תגדיר משימה מתוזמנת שתקרא כל 24 שעות לקובץ הנ"ל. ההגדרה הזו צריכה להיות ברמת השרת שלך (CJ בלינוקס, scheduled task בווינדוס).

ואם אין לך אפשרות למשימה מתוזמנת על השרת, תצטרך לעקוף את זה ע"י הקוד שלך שפשוט יבדוק מה היום שבו אתה נמצא והאם זו הכניסה הראשונה היום (לאפס את הטבלה) או לא.

ואז אותו גולש מסכן פשוט יחכה (תלוי כמה רשומות יש) זמן מסויים עד שהדף יעלה ;)
ככה...שתמיד עדיף לבקש יפה מבעל השרת cron jobs

eLad 27-01-07 20:29

ציטוט:

נכתב במקור על ידי omercnet (פרסם 413495)
למה לעשות PHP ולהריץ אותו?
לא יותר פשוט לעשות קובץ SQL ולהריץ אותו?

אם הוא יכול לעשות execute לקובץ SQL אז ברור שזה הכי עדיף. כמו שהכי עדיף לעשות את זה ברמת המסד (אם יש אפשרות לזה)..

ציטוט:

נכתב במקור על ידי meshuga (פרסם 413497)
ואז אותו גולש מסכן פשוט יחכה (תלוי כמה רשומות יש) זמן מסויים עד שהדף יעלה ;)
ככה...שתמיד עדיף לבקש יפה מבעל השרת cron jobs

כתבתי במידה ואין אפשרות... |Rolleyes|

Gal Shafrir 27-01-07 20:41

קובץ כזה?

PHP קוד:

<?Php 
 
require "config.php";
  
$query mysql_query("DELETE FROM user") or die(mysql_error());
?>

לקובץ הזה התכוונתם? או שהקוד שלו שונה?

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

Gal Shafrir 28-01-07 14:07

איך אני קורא לקובץ כל 24 שעות, אני לא מצליח להבין מה הולך שם ב-Cron Jobs?

הנה תמונה, מה אני צריך למלאות שם בשדות?

http://img180.imageshack.us/img180/8207/cronjobin2.png

קישור: http://img180.imageshack.us/img180/8207/cronjobin2.png

תודה לעוזרים!

BlueNosE 28-01-07 14:32

ציטוט:

נכתב במקור על ידי DJ G.S (פרסם 413840)
איך אני קורא לקובץ כל 24 שעות, אני לא מצליח להבין מה הולך שם ב-Cron Jobs?

הנה תמונה, מה אני צריך למלאות שם בשדות?

http://img180.imageshack.us/img180/8207/cronjobin2.png

קישור: http://img180.imageshack.us/img180/8207/cronjobin2.png

תודה לעוזרים!

כל דקה זה מטורף!
אבל בכל זאת..
אני חושב (לא בטוח), שאם אתה רוצה כל דקה אתה צריך לשים בהכל *, וככה זה רץ כל דקה.
בcommand אתה שם את הנתיב של הקובץ שאתה רוצה להריץ (נדמה לי כולל home/...)

Gal Shafrir 28-01-07 14:34

אבל איפה אני קובע איזה קובץ להפעיל?

BlueNosE 28-01-07 14:35

עדיף ללכת על קובץ בתיקייה private_html, למרות שעוד לא מצאתי דרך לטעון משם קובץ שנמצא בpublic_html.
שתדע שprivate_html היא תיקייה שממוקמת בתיקייה של הפאבליק, והיא לא ניתנת לגישה מבחוץ (דרך GET, URL)

Gal Shafrir 28-01-07 14:44

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

אל תסבך אותי..

tnadav 28-01-07 15:10

ציטוט:

נכתב במקור על ידי DJ G.S (פרסם 413840)
איך אני קורא לקובץ כל 24 שעות, אני לא מצליח להבין מה הולך שם ב-Cron Jobs?

הנה תמונה, מה אני צריך למלאות שם בשדות?

http://img180.imageshack.us/img180/8207/cronjobin2.png

קישור: http://img180.imageshack.us/img180/8207/cronjobin2.png

תודה לעוזרים!

אתה רוצה כל יום, ככה שאם אני לא טועה, בשביל שכל יום, ב- 12 בלילה אפס אפס הסקריפט ירוץ, ב- minute שים 0, ב- Hour שים 0.
ב- Command, כמו שאמרו, אתה צריך לשים את הנתיב של הקובץ...
כל השאר תשאיר ככה

BlueNosE 28-01-07 15:11

drop.php? שניה תן לי לרשום, אני רק נכנס שניה ומריץ אותו...

זה היה בשביל להמחיש לך כמה חשוב לעשות הגנה לדברים האלה.
ברגע שמישהו עולה על מיקום הקובץ הזה..
אתה בבעיות.
הוא מריץ אותו כל X זמן וזהו...

בקשר להודעה:
minutes - 0
hours - 0
כל השאר *
בCOMMAND, שוב, אתה צריך לשים את הנתיב של הקובץ, והוא נמצא במשהו כמו /home/user משהו כזה.. ורק אחרי זה /domains/domain.com/public_html... קצת בעיה להגיע, אני גם לא זוכר נתיב מדוייק.

Gal Shafrir 28-01-07 15:12

זה לא עובד לי, מוזר ביותר.. שמתי את זה בתייקיה שנקראת PHP ב-public_html וזה לא עובד לי

LosNir 28-01-07 15:20

ציטוט:

נכתב במקור על ידי DJ G.S (פרסם 413882)
זה לא עובד לי, מוזר ביותר.. שמתי את זה בתייקיה שנקראת PHP ב-public_html וזה לא עובד לי

שינית את הדומיין לדומיין שלך?

נו באמת, חלאס כבר להעתיק ישר תקודים, תנסו להבין אותם!

Gal Shafrir 28-01-07 15:25

בטח שכן, אבל אין פה שום קוד, אז למה אתה צועק?, ואני בהחלט מבין!
יש פונקציה שאומרת לך מה המיקום echo getcwd(); // show this folder,
השתמשתי בה והעתקתי.. שמתי את זה שם, אך עדיין זה לא עובד..

LosNir 28-01-07 15:31

רק אל תגיד לי שרשמת 8-*

קוד:

/home/losnir/echo getcwd(); /public_html/

BlueNosE 28-01-07 15:36

ציטוט:

נכתב במקור על ידי LosNir (פרסם 413894)
רק אל תגיד לי שרשמת 8-*

קוד:

/home/losnir/echo getcwd(); /public_html/

xDDD לא נראה לי.. ;P

Gal Shafrir 28-01-07 15:36

ממש לא, רשמתי את הפלט שקיבלתי חח

מישהו מוכן להגיד לי מה הבעיה?!?!

inute Hour Day of
Month Month Day of
Week Command Select
0 0 * * * /home/user/domains/domain.com/public_html/PHP/folder

[זאת הטבלה] אני לא מבין מה הבעיה חח

tnadav 28-01-07 15:39

לא שינית בסוף לדומיין שלך:-/

LosNir 28-01-07 15:40

ציטוט:

נכתב במקור על ידי DJ G.S (פרסם 413899)
ממש לא, רשמתי את הפלט שקיבלתי חח

מישהו מוכן להגיד לי מה הבעיה?!?!

inute Hour Day of
Month Month Day of
Week Command Select
0 0 * * * /home/user/domains/domain.com/public_html/PHP/folder

[זאת הטבלה] אני לא מבין מה הבעיה חח

אז מה כן רשמת?

Gal Shafrir 28-01-07 15:40

שיניתי אבל זה מצונזר, קשה לקלוט?!

LosNir 28-01-07 15:43

ציטוט:

נכתב במקור על ידי DJ G.S (פרסם 413906)
שיניתי אבל זה מצונזר, קשה לקלוט?!

קודם כל, אתה מדבר כאילו אני חייב לך משהו, אני חייב לך?
לא זכור לי שכן.

עכשיו יש לי כמה שאלות:

קוד:

/home/user/domains/domain.com/public_html/PHP/folder
1. הדומיין שלך הוא domain.com?
2. השם משתמש שלך הוא user?

Gal Shafrir 28-01-07 15:44

בדיוק :)

BlueNosE 28-01-07 16:05

בטח לא החלפת את USER
אחרת יש לך בעיה בקוד PHP שרץ, או שהקובץ עוד לא רץ - כמה פשוט.
אם זה מוגדר ל00:00, למה שזה ירוץ עכשיו?

meshuga 28-01-07 16:11

או שאולי הנתיב שלכם בכלל לא נכון?...
הנה תגובה שלי לאשכול ישן..תהנו.
http://www.hosts.co.il/forums/showpo...80&postcount=6

BlueNosE 28-01-07 16:14

ציטוט:

נכתב במקור על ידי meshuga (פרסם 413929)
או שאולי הנתיב שלכם בכלל לא נכון?...
הנה תגובה שלי לאשכול ישן..תהנו.
http://www.hosts.co.il/forums/showpo...80&postcount=6

אצלי בשרת זה בלי התוספת שלך בהתחלה, וזה פועל |:

meshuga 28-01-07 16:18

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 413934)
אצלי בשרת זה בלי התוספת שלך בהתחלה, וזה פועל |:

מוזר שלי ב2 (או 3 כבר?) שרתים, זה לא פעל בלי הקטע הזה.

Gal Shafrir 28-01-07 16:46

מוזר, לא עובד לי :S, זאת הטבלה:

0 0 * * * /usr/local/bin/php -f /home/*myuser*/domains/*my_domain*/public_html/PHP/drop

לא עובד למה?, זה משנה אם יש כמה קבצים בתיקייה?


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

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