首页 > 解决方案 > laravel 最大执行时间超过 60 秒 --

问题描述

大家好,我正在做一个 laravel 项目(laravel 新手)。我应该从其他表计算并将结果保存在另一个 OUTPUT 表中。我每行总共有 8 个计算,最多需要 3k 行来填充。即使在 laravel 和 php.ini 中更改它,我也会得到 ma 执行时间错误 60 秒的问题。每个调用的函数只是调用一个选择位置和总和我决定将它们分开以获得更好的组织。我的问题是,如果您能提供帮助,是否有更好的方法来处理数据并最大限度地缩短执行时间。

public function calcul($week)
    {   $test = Output::where('week',$week)->Limit(1);
        if($test->first()){
            return self::afficher($week);

        }
        else{
            
            DB::table('article')->orderBy('material')->chunk(100, function ($stocks){
           
            foreach ($stocks as $stock) {
                $id = $stock->material;
                $safe_stock=self::safe_stock($id);
                $past_need=self::PassedNeeds($id) - self::NeedsInTwoWeeks($id);
                $two_week_need=self::NeedsInTwoWeeks($id);
                $stock_=self::stock($id);
                $bdl=self::bdl($id);
                $sm=self::sm($id);
                $package=self::package($id);
               
                $store_1=self::store_1($id);
                $store_2=self::store_2($id);
                $store_3=self::store_3($id);
                Output::create([
                    'material' => $id,'safe_stock'=>$safe_stock,'past_need'=>$past_need,'two_week_need'=>$two_week_need,
                    'stock'=>$stock_,'bdl'=>$bdl,'sm'=>$sm,'package'=>$package,
                    'store_1'=>$store_1,'store_2'=>$store_2,'store_3'=>$store_3
                ]);
            }
            });
          
            return self::index();
           
            }
    }

标签: databaselaraveleloquent

解决方案


推荐阅读