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

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

רספברי פיי

מה זה AIoT? ואיך אפשר להתחיל?

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

תמונת תצוגה של מנעול על מחשב
פתרונות ומאמרים על פיתוח אינטרנט

הגנה מפני XSS עם Trusted Types

תכונה ב-CSP שמאפשרת מניעה כמעט הרמטית להתקפות XSS שכל מפתח ווב צריך להכיר וכדאי שיכיר.

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