【Laravel】コマンドでAPIを並列実行する方法を解説!

当ページのリンクには広告が含まれています。
【Laravel】コマンドでAPIを並列実行する方法
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

LaravelのコマンドでAPIを並列実行する方法を知りたい」とお考えではありませんか?

結論からお伝えすると、APIを並列実行するのは超簡単です。

いずみ

めっさ簡単なのでサクッと解説します。

ということで、本記事ではLaravelのコマンドでAPIを並列実行する方法を解説します。

いずみ

すぐ読み終わるので、ぜひ最後まで読んでくださいませ。

執筆者/監修者
  • フリーランスエンジニア(保有資格個)
  • ブログ・アフィリエイト歴7年(2018年〜)
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資(仮想通貨・FX)歴7年(2018年〜)
  • X(旧Twitter)フォロワー約1,900人
  • 運営者情報はこちら
いずみです
目次

【Laravel】コマンドでAPIを並列実行する方法

早速ですが、LaravelのコマンドでAPIを並列実行する方法を解説します。

<?php

namespace App\Console\Commands\Dev;

use GuzzleHttp\Client;
use GuzzleHttp\Promise;
use GuzzleHttp\RequestOptions;
use Illuminate\Console\Command;

class Command extends Command
{
    protected $signature = 'parallel-exec {count : 並列実行数}';

    protected $description = '並列実行コマンド';

    private const URL = 'https://sample.com/api';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        $count = (int) $this->argument('count');

        if (! $this->confirm("{$count}件並列実行します。\nよろしいですか?")) {
            return 1;
        }

        $this->info('開始');

        $client = new Client;
        $promises = [];
        try {
            for ($i = 0; $i < $count; $i++) {
                $promises["req_{$i}"] = $client->postAsync(self::URL, [
                    RequestOptions::JSON => [
                        'id' => 1,
                    ],
                ]);
            }

            $this->info("{$count}件のリクエストを並列で実行中...");

            Promise\Utils::settle($promises)->wait();

            $this->info('終了');

            return 0;
        } catch (\Exception $e) {
            $this->error('並列実行処理中にエラーが発生しました。');

            return 1;
        }
    }
}

上記のようにすればAPIを並列で実行できます。

ちなみに、今回はGuzzleを使っています。

いずみ

Laravelのバージョンは9です。

まとめ

今回は、LaravelのコマンドでAPIを並列実行する方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • LaravelのコマンドでAPIを並列実行するにはGuzzleを使えば簡単。
まとめ
  • おすすめ本
¥2,673 (2023/07/23 15:53時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場

Laravelの勉強なら「」が分かりやすくておすすめですよ♪

いずみ

最後までお読みいただき、ありがとうございました!

  • クソおすすめ本
¥4,480 (2024/06/01 23:28時点 | Amazon調べ)
\楽天ポイント4倍セール!/
楽天市場
いずみ

海外のエンジニアがどういった思考で働いているかが理解できます。

海外に行く気はないけど海外エンジニアの動向が気になる雑魚エンジニアにおすすめです(本当におすすめな本しか紹介しないのでご安心を)。

  • 他サイトも見てね


【Laravel】コマンドでAPIを並列実行する方法

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次