مدیریت پلتفرم
سلامت سایت و وظایف ناموفق
هدر پنل مدیریت، هفت بررسی سلامت را در هر بار بارگذاری صفحه انجام میدهد.
یک نقطهی سبز یعنی پلتفرم بهطور کامل تنظیم شده است؛ رنگ نارنجی یا قرمز یعنی
چیزی نیاز به رسیدگی دارد. صفحهی /admin/jobs/failed
نیز وضعیت خطاهای صف را در همان قالب نمایش میدهد.
هفت بررسی
| بررسی | شدت | چه چیزی را بررسی میکند |
|---|---|---|
| وظایف ناموفق | بحرانی | تعداد رکوردهای موجود در جدول failed_jobs. اگر بیشتر از ۰ باشد، نشان نارنجی میشود؛ اگر بیشتر از ۵۰ باشد، قرمز میشود. |
| Stripe | اخطار | بررسی میکند که cashier.secret تنظیم شده باشد. بدون آن، هیچ پلنی همگامسازی نمیشود و هیچ پرداختی کار نمیکند. |
| سرویس هوش مصنوعی | اخطار | حداقل یکی از این موارد باید تنظیم باشد: حساب + توکن کلودفلر، کلید OpenAI، یا کلید OpenRouter. |
| ذخیرهساز جستجوی هوشمند | اخطار | نام شاخص Vectorize در کلودفلر یا آدرس Qdrant باید تنظیم باشد. |
| ارسال ایمیل | اخطار | تنظیمات ارسال ایمیل و آدرس فرستنده باید پیکربندی شده باشد. برای ارسال دعوتنامه، بازنشانی رمز عبور و اطلاعرسانی مشتریان ضروری است. |
| Reverb | اخطار | کلید برنامه و کلید مخفی Reverb باید تنظیم باشد. بدون آن، صندوق ورودی بهصورت زنده بروزرسانی نمیشود. |
| حافظهی کش | اخطار | بررسی میکند که Redis قابل دسترس است. مسیر اصلی پاسخها را در اینجا ذخیره میکند؛ کند بودن کش یعنی پاسخها کندتر میرسند. |
امتیاز و برچسب
نشان هدر، وضعیت کلی را به این صورت نشان میدهد: امتیاز = درصد بررسیهای موفق.
برچسب از قوی (≥ ۹۰٪) تا پایدار (≥ ۷۰٪) تا نیاز به بررسی (≥ ۵۰٪) تا بحرانی (کمتر از ۵۰٪) متغیر است. رنگ نشان نیز متناسب با آن است: سبز برای قوی، نارنجی برای پایدار یا نیاز به بررسی، قرمز برای بحرانی.
هر اعلان در منوی کشویی، یک لینک مستقیم به صفحهی تنظیمات مربوطه دارد تا بتوانید مشکل را در دو کلیک برطرف کنید.
وظایف ناموفق
برای مشاهدهی لیست کامل، صفحهی /admin/jobs/failed را باز کنید. هر ردیف شامل موارد زیر است:
- نام وظیفه — نام صف و کلاس مربوطه.
- اتصال — نوع اتصال صف.
- زمان شکست — زمان آخرین تلاش ناموفق.
- خطا — اولین خط از گزارش خطا، قابل گسترش است.
- تلاش مجدد — ارسال مجدد وظیفه با همان اطلاعات.
- حذف — حذف رکورد از لیست.
این صفحه همچنین دکمههای تلاش مجدد همه و پاکسازی همه را دارد. از «تلاش مجدد همه» پس از رفع یک مشکل موقت استفاده کنید (مثلاً سرویس هوش مصنوعی قطع بود و وظایف ناموفق شدند؛ حالا سرویس برگشته است). از «پاکسازی همه» فقط زمانی استفاده کنید که مطمئن هستید وظایف قابل بازیابی نیستند.
خطاهای رایج براساس نوع صف
براساس نوع صف:
- crawl — معمولاً خطای ۴xx یا ۵xx از سایت مقصد یا محدودیت درخواست سرویس اسکن. یک بار تلاش مجدد کنید؛ اگر تکرار شد، آدرس منبع از کار افتاده است.
- index — معمولاً محدودیت درخواست سرویس جستجوی هوشمند یا مشکل سهمیه Vectorize. پس از بازنشانی محدودیت، دوباره تلاش کنید.
- default — هر چیز دیگری (رویدادهای مصرف، تشخیص سوالات بیپاسخ، ارسال وبهوک). گزارش خطا را بررسی کنید.
خطاهای پخش همگانی (Reverb / خطاهای cURL Pusher)
اگر BROADCAST_CONNECTION=reverb تنظیم شده باشد اما سرور Reverb در حال اجرا نباشد (یا میزبان/پورت اشتباه باشد)، هر رویداد ShouldBroadcast با خطای cURL error 7: Failed to connect to host:port مواجه شده و در failed_jobs ثبت میشود. برای جلوگیری از این خطاها، تمام رویدادهای پخش همگانی از ویژگی App\Events\Concerns\BroadcastsWhenConfigured استفاده میکنند که وقتی درایور تنظیمشده log یا null باشد، پخش را غیرفعال میکند — یعنی بدون یک مصرفکنندهی واقعی سوکت، پخشی انجام نمیشود.
اقدام مورد نیاز وقتی این خطاها را مشاهده میکنید:
- اگر به پخش زنده نیازی ندارید،
BROADCAST_CONNECTION=logرا در.envتنظیم کنید. - یا سرور Reverb را راهاندازی کنید (
php artisan reverb:start) و مطمئن شوید کهREVERB_HOSTوREVERB_PORTبا تنظیمات پخشی مطابقت دارند. - پس از رفع مشکل اصلی، دستور
php artisan queue:flushرا اجرا کنید تا رکوردهای قدیمی حذف شوند.
خطاهای ارسال وبهوک
ارسالکنندهی رویداد جذب مشتری (SignedDispatcher) فقط یک بار تلاش میکند — مشتری قبلاً ذخیره شده است، بنابراین خطا در ارسال، در گزارش فرآیند خودکار ثبت میشود و مانع بازدیدکننده نمیشود. وبهوکهای مرحلهای فرآیند خودکار (DispatchWebhookJob) تا ۳ بار از طریق مکانیزم تلاش مجدد لاراول تکرار میشوند؛ پس از سومین شکست، وظیفه در failed_jobs با آدرس مقصد و امضا در اطلاعات ثبت میشود تا پس از رفع مشکل گیرنده، بتوانید بهصورت دستی دوباره ارسال کنید.
Horizon
اگر لاراول Horizon را فعال کردهاید، صفحهی /horizon اطلاعات لحظهای صف، زمان انتظار، نرخ خطاها و هیستوگرامهای هر کلاس وظیفه را نشان میدهد. پیشنهاد میشود در زمان استقرار، این صفحه را در یک زبانه باز نگه دارید.
نشان سلامت سایت — معنی هر رنگ
| رنگ | امتیاز | معنی | اقدام |
|---|---|---|---|
| سبز | ≥ ۹۰٪ (قوی) | همه چیز سالم است. | هیچ اقدامی لازم نیست. |
| نارنجی | ۵۰٪ – ۸۹٪ (پایدار / نیاز به بررسی) | یک یا چند اخطار وجود دارد؛ محصول همچنان کار میکند. | روی نشان کلیک کنید، مشکلات را در زمان مناسب برطرف کنید. |
| قرمز | < ۵۰٪ (بحرانی) | چندین بررسی ناموفق یا یک بررسی بحرانی (مثلاً انبوه وظایف ناموفق). | همه چیز را رها کنید. ممکن است محصول برای برخی مشتریان بهطور کامل از کار افتاده باشد. |