فرهاد اشتری
1 سال پیش توسط فرهاد اشتری مطرح شد
0 پاسخ

استفاده از سرویس کانتینر ها در لاراول برای انجام تسک های سنگین

با سلام و عرض ادب خدمت دوستان
سوال من اینه که چطور میشه از سرویس کانتینر ها در لاراول برای انجام وظایف(تسک ها) سنگین و زمان بر استفاده کرد. مثلا فرض کنید ما کلاس زیر رو داریم:

class HeavyTask
{
    public function doHeavyTasks(){

    }
}

و برای این کلاس به صورت زیر سرویس کانتیتر تعریف کردیم:

         $this->app->singleton('HeavyTask' , function($app){
             return new HeavyTask();
         });

فرض کنید کلاس HeavyTask قراره تعداد زیادی درخواست رو از طریق api فراخوانی کنه.
ممنون میشم یه مثال عملی بیارید که چطور میشه این درخواست ها رو به صورت بهینه فراخوانی کرد. مثلا اگر بخواهیم برای ارسال این درخواست ها یک scheduled task در لاراول تعریف کنیم چطور می تونیم این کار رو انجام بدیم که ارسال درخواست ها بهینه باشه؟

$schedule->call(function(){
            // do scheduled task
        });

و ممنون میشم بفرمایید فراخوانی کلاسی که در سرویس کانتینتر تعریف شده از نظر کارایی و پرفورمنس چه تفاوتی با حالتی داره که از سرویس کانتینتر استفاده نشده؟
ممنون از وقتی که برای پاسخ گویی می ذارید.


ثبت پرسش جدید

به همدیگه کمک کنیم

به فرهاد اشتری کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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