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

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

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

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

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

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

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

פיתוח ב-JavaScript

Axios interceptors

תכנון נכון של קריאות AJAX באפליקציה ריאקטית וניהול השגיאות או ההצלחות עם פיצ׳ר נחמד של axios

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

הסבר על טכניקה פשוטה וידועה מאד שאנו מפעילים על מידע לפני שאנחנו מציגים אותו ב-HTML באפליקציה או באתר.

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