ריסט ל-cron בדרופל 6

פתרון לבעיית Attempting to re-run cron while it is already running

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

לפעמים, מסיבות שונות, כאשר אנו מפתחים מודול שמשתמש ב-Cron, טעות אחת מצידנו יכולה לתקוע את ה-Cron של דרופל. כלומר, מערכת דרופל עדיין חושבת שה-Cron רץ ולכן כאשר אנו מנסים להריץ אותו מחדש אנו רואים אזהרה ש- Cron failed to run בדף הסטטוס של דרופל. כאשר אנו מסתכלים בלוג של דרופל אנו רואים alert שאומר:
Attempting to re-run cron while it is already running.

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

נכנסים ל-MySQL ומכניסים את הפקודות הבאות:


USE YOURDATABASENAME;
DELETE FROM variable WHERE name = 'cron_semaphore';
DELETE FROM variable WHERE name = 'cron_last';

ואחרי זה מנקים את ה-cache של דרופל. מרפרשים את דף הסטטוס – ודרופל יטען שה-Cron מעולם לא רץ – הריצו אותו והבעיה נפתרה (בתנאי שאין איזה סקריפט שרץ ב-Cron ותוקע את העסק).

פוסטים נוספים שכדאי לקרוא

בינה מלאכותית

Agent skills

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

יסודות בתכנות

איך TCP עובד? מבט מעמיק

הסבר מעמיק מתחת למנוע על איך תקשורת TCP עובדת כולל ניתוח פקטות.

יסודות בתכנות

פוסט אקראי במיוחד על רנדומליות

איך רנדומליות מחושבת באמת במחשב? האם באמת המספרים שאנחנו מקבלים מפונקציות קריפטוגרפיות הן באמת רנדומליות? ולמה זה חשוב?

גלילה לראש העמוד