راکت

مشکل در اجرا شدن job ها در هاست

2 پاسخ

با عرض سلام و احترام
دوستان من به یک مشکل عجیب خوردم من داخل لوکال با php artisan queue:work میام جاب ها رو ران میکنم و خیلی خوب و بودن مشکل کار میکنه و این که نخواد خیلی پیچیده کنم دستورات queue رو اومدم توی یک schedule قرار دادم داخل console.php و وقتی php artisan schedule:run رو میزنم کار میکنه و یکی یکی queue ها رو طبق صف اجرا میکنه، اما داخل هاست یک corn job گذاشتم ولی اصلا کار نمیکنه برای تستش هم توی terminal خود هاست دستور php artisan queue:work رو میزنم هیچکدوم از job ها رو اجرا نمیکنه در صورتی که به صورتی تستی اومدم چندتا Job گذاشتم ولی اصلا اجرا نمیکنه وقتی php artisan schedule:run رو میزنم میگه هیچ schedule نیست!!!! ورژن لاراول هم ۱۱ هستش

دوستان لطفا کمک کنید خیلی خیلی مهمه

ثبت پرسش جدید

پاسخ‌ها

2
محمدکیان محمودی چناری
محمدکیان محمودی چناری
@KEANU2003

تخصص: دانشجوی مهندسی کامپیوتر و برنامه نویس تازه کار

سلام و درود

مشکل اینه که تو هاست، یا زمان‌بندی درست کار نمی‌کنه یا تنظیمات Queue مشکل داره. چندتا چیز رو چک کن:

  1. Cron Job: باید مطمئن بشی تو هاست درست تنظیم شده باشه. یه چیزی مثل این باید باشه:
   * * * * * php /مسیر-پروژه/artisan schedule:run >> /dev/null 2>&1

مسیر رو دقیق چک کن که درست باشه.

  1. schedule تو Kernel.php: باید دستورات زمان‌بندی رو تو Console/Kernel.php تعریف کنی. مثلاً:
   protected function schedule(Schedule $schedule)
   {
   $schedule->command('queue:work --stop-when-empty')->everyMinute();
   }
  1. تنظیمات Queue: تو فایل config/queue.php، بررسی کن کهdriver تنظیم شده باشه روی database یا چیزی که می‌خوای.

  2. نسخه PHP: مطمئن شو که PHP هاست با لاراول ۱۱ سازگار باشه (باید مثلاً ۸.۱ باشه).

  3. لاگ‌ها: فایل‌های لاگ رو تو storage/logs/laravel.log چک کن تا ببینی مشکل از کجاست.

  4. Supervisor: به‌جای Cron Job از Supervisor استفاده کن تا کارها رو دائماً نظارت و اجرا کنه.

خلاصه، اول تنظیمات هاست و زمان‌بندی رو چک کن، بعد اگر باز نشد مشکل، ممکنه لازم باشه از Supervisor کمک بگیری.

علی صادقی
علی صادقی
@ali3adeghi

برای استفاده راحت تر از صف ها از سرور ابری استفاده کن که دسترسی روت داشته باشه
اکستنشن pcntl روی php نصب کن و horizon بالا بیار
از supervisor هم استفاده کن برای ران کردن دستور php artisan horizon
کلا هاست اشتراکی واسه این کار ها مناسب نیست
از کرون جاب هم استفاده کنی نهایتا بتونی هر یک دقیقه یک بار یه اسکریپتی اجرا کنی

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام