سلام من میخوام دستور queue:work مثل دستور artisan serve همیشه در حال اجرا باشه روی هاستم
یجا خوندم باید از supervisor استفاده کنم ولی من تا حال باهاش کار نکردم و نمیدونم چی به چیه!
راه اسونتریم هست برای این کار؟ دوستانی که این کارو انجام دادن راهنمایی کن ممنون میشم
@miladparsi1070
سلام اول یه کرون جاب یک دقیقه ای در سرورتون به صورت زیر تعریف کنید
/usr/local/bin/php /home/myProject/public_html/core/artisan schedule:run >/dev/null 2>&1
بعد برید به آدرس App/console/kernel.php و در تابع schedule دستور زیر رو تعریف کنید
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')->hourly();
$schedule->command('queue:work --stop-when-empty')
->cron('* * * * *')
->withoutOverlapping(5);
}
اینجوری همیشه صفهای شما فعاله و هیچ فشاری هم به سرور وارد نمیشه
@miladparsi1070
سلام. شما عملا نمیتونید از supervisor روی هاستهای اشتراکی استفاده کنید.
به جاش میتونید یه کرون جاب ست کنید که دستور php artisan queue:work رو هر یک دقیقه یکبار ران کنه.
سلام اینکار رو نباید بکنید
چون کرون جاب هایی که فعالیت های زمان دار رو اجرا میکنند بعد از ۱ دقیقه بسته نمیشوند و بعد از گذشت ۱ ساعت حداقل ۶۰ تا فعالیت باز کرده حداقل باید اینکارو کنید
php artisan queue:work --once
@miladparsi1070
سلام اول یه کرون جاب یک دقیقه ای در سرورتون به صورت زیر تعریف کنید
/usr/local/bin/php /home/myProject/public_html/core/artisan schedule:run >/dev/null 2>&1
بعد برید به آدرس App/console/kernel.php و در تابع schedule دستور زیر رو تعریف کنید
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')->hourly();
$schedule->command('queue:work --stop-when-empty')
->cron('* * * * *')
->withoutOverlapping(5);
}
اینجوری همیشه صفهای شما فعاله و هیچ فشاری هم به سرور وارد نمیشه
@erfanhemmati
اره این. اخرین راه گذاشته بودم
@sina.it91
من نمیدونم چجوری تو سرور کرون جاب درست کنم
اگه کامل راهنمایی کنید ممنون میشم چون حس میکنم مشکلم حل شه اینجوری
من کل پروژه رو توی یه فولدر به اسم خود پروژه ریختم. شرکتی که هستم اینجوری آپلود میکنن
الان من دستور اول رو کجا دقیقا بزنم؟؟
@miladparsi1070
تو cpanel بخش advanced باید یه چیزی به نام cron jobs داشته باشه
اونجا یه کرون جاب یک دقیقه ای تعریف میکنی و دستوری که گفتم (آدرس پروژه ی خودت) رو وارد میکنی
تو اینترنت سرچ کنی آموزشش هست
سلام
پاسختون جالب بود و تاحالا ندیده بودمش
اگر flag که گفتید رو اضافه کنیم در واقع هر دقیقه یک تسک رو اجرا میکنه یا یکبار کل صف اجرا میشه و بعدش بسته میشه؟
ممنون میشم توضیح بدید.
سلام این دستور که من گفتم هر دقیقه یک دستور رو اجرا میکنه
چرا از این دستور من استفاده کردم؟
اجرا کردن یک queue فعالیت زمان بری هست.
وقتی cron job این فعالیت رو صدا میزننه اون فعالیت تا جایی که امکانش باشه باز میمونه مگر این که به مشکلی بخوره یا سرور ریستارت بشه.
حالا اکر هر دقیقه این عمل انجام بشه کلی از منابع شمارو میگیره و سرور down میشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟