yasutomogのブログ

Software Engineerの雑記

laravel

monolog(RotatingFileHandler)のログ出力エラーに対してプルリク作成してみた

概要 Lumenを使ったAPIサーバで日別にログ出力している(日付ごとにディレクトリを分けてログ出力している) 数年間のシステム運用をしている中で、特に問題なくログ出力できていた ある日、ログ出力できないというエラーが発生したので、調査内容をまとめる…

PHPでGuzzleHttpを使用して並列処理(同時実行数の制御)の確認

概要 PHPでHTTP通信の並列処理をする curl_multiではなくGuzzleHttpを使って試す GuzzleHttpは並列実行が元々用意されている 知りたかったこと GuzzleHttpでPoolの使用時に設定するconcurrency(並列処理数)の制御 具体的には、全部で10リクエスト投げる処…

Lumen(Laravel)のQueue管理クラス(DB)の拡張方法

概要 Lumenを使用したWebアプリを運用している中で、Queue(DB)を使用 DBは、Azure SQL Databaseを使用 Azure SQL Databaseでは一時的に負荷が上がると、強制的に接続を切断しDB側の再構成が走る DB接続をキャッシュしたり、コネクションプーリングなどを使…

Lumen(Laravel)のQueue処理(DB)フロー

概要 LumenのQueue(DB)実行のコードを追ったのでメモ 前提 lumen:5.5.7 PHP:7.1 php artisan queue:work のコマンド実行時 フロー Illuminate\Queue\Console\WorkCommandクラスが実行 github.com Illuminate\Queue\Worker.php#daemonが実行 github.com 本…

lumenのログ出力制御(rotateの方法)

デフォルトの設定 デフォルト設定のままだと、「ルート/storage/logs」配下に lumen.logが吐かれる。 全てのログがこの1ファイルにずっと吐き続けられる。 laravelの設定 「ルート/config/app.php」のlog(キー値)に対して設定してあげると rotateの制御を…