1

かなり長い間実行されるこのphpスクリプトがありますが、しばらくすると(ページのロードが停止したときのブラウザの制限により)、コードの実行が停止します。

基本的には、API を使用して 10000 件の記事を取得し、それらを 1 つずつ自分の DB に格納します。約 1200 以上の記事をループした後、Google Chrome の回転/読み込みアイコンが停止し、戻ってきたのは空白のページだけです。DB を確認すると、DB で結果を確認できますが、スクリプトはすべての記事をループせず、停止しました。

CLI から実行すると、ロードが停止したときにデフォルトの browser-time-limit が削除されることはわかっていますが、コマンドラインから Laravel の特定のコントローラー メソッドを呼び出す方法がわかりません。

4

3 に答える 3

1

実際にはデータベースをシードしているので、迅速で汚い方法は db:seed を使用してそれを行うことです:

class MyTableSeeder extends Seeder {

    public function run()
    {

            // Do whatever you need to

    }

}

DatabaseSeeder で有効にします。

class DatabaseSeeder extends Seeder {

    public function run()
    {
        $this->call('MyTableSeeder');
    }

}

そしてそれを実行します:

php artisan db:seed

Artisan Command を作成するのがより良い方法です。作成方法を教えるために私が書いた別の回答を次に示します。今の日付のすべての行を選択してください

于 2013-10-25T13:33:54.507 に答える