عیب‌یابی صف‌های گیرکرده در Action Scheduler

وقتی ایمیل‌ها دیر می‌رسند و همگام‌سازی‌ها عقب می‌افتند، احتمالاً صف Action Scheduler گیر کرده است. این‌طور پیدایش کنید.

حمید اعراب توسعه‌دهنده ارشد بک‌اند وردپرس و ووکامرس
انتشار
زمان مطالعه
۲ دقیقه مطالعه

حمید اعراب ۱۴ بهمن ۱۴۰۴ ۲ دقیقه مطالعه

تصویر پیکسلی یک صف از کارها پشت یک مانع
فهرست مطالب (4)

Action Scheduler موتور کارهای پس‌زمینهٔ ووکامرس و بسیاری از افزونه‌ها است. وقتی صف آن عقب بیفتد، علائمش پراکنده است: ایمیل‌های دیرهنگام، اشتراک‌هایی که تمدید نمی‌شوند و همگام‌سازی‌هایی که ساعت‌ها عقب‌اند.

ببینید صف در چه وضعی است

در «ابزارها ← وضعیت زمان‌بندی» کارهای «در انتظار» با تاریخ گذشته را فیلتر کنید. اگر تعدادشان مدام بالا می‌رود، اجراکننده به کارها نمی‌رسد.

اجرای دستی و محدود

wp action-scheduler run --batch-size=50 --batches=10
wp action-scheduler run --hooks=woocommerce_deliver_webhook_async

اجرای صف از WP-CLI وابستگی به WP-Cron و ترافیک سایت را حذف می‌کند و خطاها را مستقیم در ترمینال نشان می‌دهد.

علت‌های رایج

  • WP-Cron غیرفعال است و کران واقعی سرور هم تنظیم نشده.
  • یک کار خطای مرگبار می‌دهد و هر بار دوباره در صف می‌نشیند.
  • جدول‌های actionscheduler_* با میلیون‌ها ردیف قدیمی سنگین شده‌اند.

پاک کردن مستقیم ردیف‌ها از جدول بدون فهم وابستگی‌ها می‌تواند سفارش یا اشتراکی را نیمه‌کاره بگذارد. اول علت را پیدا کنید.

پیشگیری

یک کران واقعی سرور که هر دقیقه wp cron event run --due-now را اجرا کند، به‌همراه پاک‌سازی دوره‌ای کارهای تکمیل‌شده، صف را سالم نگه می‌دارد.

$ ./request_review

همین مشکل را در فروشگاه خودتان دارید؟

توسعه‌دهنده ارشد WordPress و WooCommerce برای معماری، اتصال سیستم‌ها و حل مسائل پیچیده production.

درخواست بررسی فنی

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *