نوب
3 سال پیش توسط نوب مطرح شد
4 پاسخ

بهینه تر کردن کد برای ارسال اطلاعات به API سایتی دیگر از طریق لاراول

@mhyeganeh
@mobinasattari7
@hesammousavi
سلام دوستان
کد زیر را نوشتم که اطلاعات تعداد زیاد را هم توی دیتابیس بریزه و هم همون لحظه اونا را از طریق api به یک سایت دیگه بفرسته
آیا راه بهتری برای سریعتر و بهینه تر کردن کد زیر دارید ؟
سپاس

    public function store(Request $request)
    {
        $api = api::where('id', '=', $request->from)->firstOrFail();
        $numbers = explode("\r\n", $request->numbers);
        $insert_data = collect();
        foreach ($numbers as $value) {
            $insert_data->push([
                'number' => $value,
                'user_id' => auth()->user()->id,
                'status' => 'send',
                'text' => $request->message,
                'from' => $api->api_number,
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now(),
            ]);
        }
        foreach ($insert_data->chunk(500) as $chunk) {
                Api_SMS($api->api_number, $request->message, $numbers);
            DB::table('sms')->insert($chunk->toArray());
        }
                return redirect()->back()->with('success','ارسال انجام شد');
    }

ثبت پرسش جدید
مبینا ستاری
تخصص : توسعه دهنده بک اند
@mobinasattari7 3 سال پیش مطرح شد
-1

درود بر شما.
من php ام خوب نیست اما بقیه دوستان فک کنم بتونن کمک کنن.
مثلا فک کنم جناب گمنام بتونن @gomnam


سبحان مولایی
تخصص : برنامه‌نویس وب: Python ::...
@websaz 3 سال پیش مطرح شد
-1

سلام بنظرم می تونید for اول و دوم رو یکی کنید


مهران مرندی
تخصص : برنامه نویس
@mehranmarandi 3 سال پیش مطرح شد
2

حتما از event/listener استفاده کنید و اون listener رو هم در queue اجرا کنید.
اینطوری اگر قرار باشه چند هزار پیامک هم ارسال بشه این متد بیشتر از چند ثانیه طول نمیکشه، و پیامک ها هم در سریعترین زمان ممکن ارسال میشن.
این متد اگر همینطوری بخواد اجرا بشه اگر تعداد پیامک ها خیلی زیاد باشه و یا سرویس ارسال پیامک قطع شده باشه قطعا time exception بر میگردونه


علیرضا کفایتی
تخصص : برنامه نویس laravel, vue.js
@alirezakefayati 3 سال پیش مطرح شد
0

سلام
به جز موردی که جناب مهران مرندی فرمودند من چیز خاصی به چشمم نخورد که بتونید کدتون رو کمتر و بهینه تر کنید . به جز اینکه از Eloquent استفاده کنید تا لازم نشه مقادیر created_at و updated_at رو مقداری بدید .


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

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