تظهر المنشورات المجدولة "الجدول الزمني المفقود"
مر وقت النشر ولم يحدث شيء. WP-Cron ليست ساعة - يتم تشغيلها عند وصول الطلب ، ولم يصل أي طلب.
Missed schedule
يتم تشغيل WP-Cron بواسطة تحميل الصفحات ، لذلك لا يوجد في الموقع الهادئ ما يطلق النار عليه. سرد الأحداث الواجبة: إذا كانت قائمة الانتظار مع طابع زمني في الماضي ، فإن الجدول الزمني جيد والزناد مفقود ، ويقوم كرون النظام الحقيقي بإصلاحه بشكل دائم.
الأسباب الأرجح أولًا.
افحص القائمة بالترتيب. يتيح لك كل فحص تأكيد السبب أو استبعاده قبل تغيير أي شيء، لأن الحلول تختلف والتخمين يكلّف أكثر من تنفيذ أمر للتحقق.
| السبب | كيفية التحقق | الإصلاح |
|---|---|---|
| لا حركة المرور في الوقت المحدد | تتراكم الأحداث المستحقة مع الطوابع الزمنية الماضية ثم يتم تشغيلها جميعًا في وقت واحد لحظة تحميل الصفحة بنفسك. | محرك كرون من نظام التشغيل على فترة زمنية محددة بدلا من الزوار، لذلك يتم عمل قائمة الانتظار سواء كان أي شخص على الموقع أم لا. |
| تم تعطيل WP-Cron ولا شيء يحل محله | Disabable_WP_CRON صحيح في wp-config.php، ولا توجد مهمة مجدولة على الخادم تستدعي wp-cron.php. | إضافة إدخال نظام كرون أن يفترض ثابت موجود. تعطيل الزناد الزائر دون إضافة بديل توقف كل مهمة مجدولة على الموقع، وليس فقط النشر. |
| فشل طلب الاسترجاع | تقارير صحة الموقع أن الموقع لا يمكن إكمال طلب الاسترجاع. تفرخ WP-Cron نفسها على HTTP ، لذلك لا يمكن تشغيلها إذا لم يتمكن الموقع من الوصول إلى نفسه. | إصلاح الاسترجاع أولاً - فهو يمنع كرون وتحديثات المكون الإضافي والحفظ التلقائي للمحرر على حد سواء. استدعاء wp-cron.php من خلال سطر الأوامر يتخطى HTTP تمامًا. |
| المنطقة الزمنية للموقع ليست ما تعتقده | المشاركات تنشر ، ولكن ساعة أو عدة قبالة. قارن إعداد المنطقة الزمنية WordPress مقابل ساعة الخادم. | تعيين المنطقة الزمنية إلى مدينة اسمه بدلا من أوتك تعويض، لذلك يتم التعامل مع توفير ضوء النهار. تعويض هو رقم ثابت ويذهب الخطأ مرتين في السنة. |
الإصلاح خطوة بخطوة.
تفترض الأوامر توفر WP-CLI والوصول إلى سطر الأوامر. إن لم يتوفرا، تشرح كل خطوة الإجراء كي تنفذه من لوحة التحكم أو عبر SFTP.
معرفة ما إذا كانت الأحداث في قائمة الانتظار وتأخرت
هذا هو الانقسام. الأحداث المتأخرة تعني أن الجدولة عملت ولا شيء يشغل قائمة الانتظار.
wp cron event list --fields=hook,next_run_relative,status
تشغيل قائمة الانتظار باليد
إذا كان العمل المتأخر يمسح، والجدول الزمني لم يكن أبدا المشكلة وكنت تبحث عن الزناد.
wp cron event run --due-now
إيقاف تشغيل الزناد يحركها الزوار
أضف هذا إلى wp-config.php. من تلقاء نفسها يجعل الأمور أسوأ ، لذلك قم بالخطوة التالية في نفس الجلسة.
define( 'DISABLE_WP_CRON', true );
أعطه جدول زمني حقيقي
كل خمس دقائق كافية للنشر ولطيف على خادم صغير. استخدم WP-CLI بدلاً من حليقة بحيث لا يتم طلب HTTP.
*/5 * * * * cd /path/to/site && wp cron event run --due-now --quiet
تأكيد المنطقة الزمنية قبل إلقاء اللوم كرون مرة أخرى
المنشور الذي ينشر بشكل موثوق ولكن في الساعة الخاطئة هو مشكلة على مدار الساعة ، وليس مشكلة قائمة الانتظار.
wp option get timezone_string date
ما تتولاه المنصة عنك.
تشغّل المنصة Cron على فترات ثابتة وتوقف تشغيله استجابةً لزيارات الموقع. لذلك يُنشر المقال المجدول في الساعة 3 صباحًا في موعده، حتى على موقع لا يتلقى زيارات ليلًا. ولأن المنصة هي التي تشغّله بدلًا من طلب HTTP يرسله الموقع إلى نفسه، فإن فشل الاتصال الذاتي لا يوقف النشر دون تنبيه.
الأسئلة الشائعة.
لماذا تم نشر كل منشور مفقود في وقت واحد عندما فتحت الموقع؟
هل البرنامج المساعد الذي "يصلح الجداول الزمنية المفقودة" يكفي؟
كم مرة يجب تشغيل نظام كرون؟
هل يؤثر هذا على أي شيء آخر غير المنشورات؟
إن لم يكن هذا هو السبب.
قد تبدو هذه الأخطاء متشابهة في المتصفح.