ריסט ל-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 ותוקע את העסק).

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

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

הסבר קל ופשוט על Reinforcement Learning

הסבר פשוט למתכנתים שמסביר על איך למידה מחוזקת עובדת – הרבה יותר פשוט ממה שחשבתם ואפשר גם בג׳אווהסקריפט!

פתרונות ומאמרים על פיתוח אינטרנט

לא פרצו לנו, רק דלף לנו – לקחים טכניים מפרשת אלקטור

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

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

backward compatibility ו forward compatibility

שלושה עקרונות חשובים בפיתוח תוכנה שכדאי להכיר במיוחד בעידן הבינה המלאכותית והקוד המהיר.

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