مهدی
3 سال پیش توسط مهدی مطرح شد
5 پاسخ

queue laravel

سلام دوستان یه سوال ما برای اجرای یک job حتما باید توی terminal دستور php artisan queue:work رو وارد کنیم
خب اگه اینجوریه که وقتی سایت رو تحویل مشتری میدیم باید خودمون بالا سر سایت وایسیم هرشب این دستور رو بزنیم البته میدونم اینجوری نیست دوستان لطفا راهنمایی کنن باتشکر
@muhammad


ثبت پرسش جدید
رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 3 سال پیش مطرح شد
0

شما اول باید یه cron job یک دقیقه ای به صورت زیر در سرورتون تعریف کنید.

/usr/local/bin/php /home/myProject/public_html/core/artisan schedule:run >/dev/null 2>&1

بعد به فایل Kernel.php برید و به صورت زیر عمل کنید.

protected function schedule(Schedule $schedule) {
    $schedule->command('queue:work --queue=createUser')
    ->cron('* * * * *');
}

رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 3 سال پیش مطرح شد
0

سلام.
شما باید داخل فایل Kernel.php این کار رو انجام بدین، نه به صورت دستی داخل ترمینال.
داخل اینترنت سرچ کنید، متوجه میشید.
موفق باشید.


Muhammad
تخصص : Back-End Developer
@muhammad 3 سال پیش آپدیت شد
0

صف شما یا اینکه مستمر کار می‌کنه، یا اینکه در بازه‌های زمانی تعداد خاصی از جاب‌هارو هندل می‌کنین. اولی متوقف نمیشه، برای دومی هم از کران‌جاب استفاده می‌کنین.
https://laravel.com/docs/8.x/queues#queue-workers-and-deployment
https://laravel.com/docs/8.x/scheduling


مهدی
@MM20001378 3 سال پیش آپدیت شد
0

سلام ممنون از جواب هاتون خب دقیقا مشکل منم همینه ببینید من وقتی که از kernel استفاده میکنم مثلا میخوام هر یک دقیقه یک کاربر برای من بسازه بطور مثال عرض کردم خب حالا اسم اون Job هست createUser خب حالا برای اجرای این دستور من باید توی ترمینالم اینو بنویسم دیگه php artisan queue:work --queue=createUser خب من چجوری بیام این رو تعریف کنم که هر مثلا یه دقیقه یکبار بیا این کد رو اجرا کنم میدونم باید توی کرنل قرارش بدم ولی توی kernel باید این دستور رو قرار بدم؟ خواهش میکنم اگه نمونه کدی دارید برام بزارید بدجوری گیج شدم ممنون
@muhammad
@rezajahangir


رضا جهانگیر
تخصص : Full-Stack Developer
@rezajahangir 3 سال پیش مطرح شد
0

شما اول باید یه cron job یک دقیقه ای به صورت زیر در سرورتون تعریف کنید.

/usr/local/bin/php /home/myProject/public_html/core/artisan schedule:run >/dev/null 2>&1

بعد به فایل Kernel.php برید و به صورت زیر عمل کنید.

protected function schedule(Schedule $schedule) {
    $schedule->command('queue:work --queue=createUser')
    ->cron('* * * * *');
}

مهدی
@MM20001378 3 سال پیش مطرح شد
0

خیلی ممنون اوکی شد
@rezajahangir


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

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