ホームページ >バックエンド開発 >PHPチュートリアル >PHPフレームワークLaravelで非同期処理を実行するスーパーバイザーを実装する
この記事では主に PHP フレームワークについて紹介します この記事の紹介は非常に詳しく書かれているので、必要な方にとっては十分に参考になると思います。来て見てください。
問題の説明
Laravel フレームワークを使用して動的 Web ページを実装する場合、一部の操作で大量の計算が必要な場合、ユーザー エクスペリエンスに影響を与えないようにするために、多くの場合、非同期処理を使用する必要があります。これは、supervisor と laravel に付属するキューを使用して実装されます。詳細な紹介を見てみましょう:
Supervisor
Supervisor (http://supervisord.org) は、Python で書かれたプロセス管理ツールで、起動、再起動、シャットダウンに簡単に使用できます。プロセス (Python プロセスだけではありません)。単一のプロセスを制御するだけでなく、複数のプロセスを同時に開始およびシャットダウンすることもできます。たとえば、残念ながら、サーバーの問題によりすべてのアプリケーションが強制終了される場合、スーパーバイザを使用してすべてのアプリケーションを開始できます。コマンドを 1 つずつ入力するのではなく、同時に起動します。
方法は次のとおりです
1. スーパーバイザーをインストールします
apt-get install supervisor
インストール後にスーパーバイザーを再起動します: service supervisor restart
2. スーパーバイザー管理はここで設定されます。指示、 laravelキューの監視を開始するには使用します。プロセス数とエラーログアドレスも指定します。
3. キューの設定
キューのコードを記述する前に、キューの設定場所は config/queue.PHP にあります。ここでは、データベースなどのキュー
ドライバー
[program:laravel] process_name=%(program_name)s_%(process_num)02d command=php {{ app.root }}/artisan queue:listen autostart=true autorestart=true user=www-data numprocs=1 redirect_stderr=true stdout_logfile={{ app.root }}/storage/logs/queque.log
4. 非同期プログラムを作成します
app/job ディレクトリに非同期プログラムを作成し、独自の新しいクラスを作成します。例: シャットダウン、
コンストラクター
'redis' => [ 'driver' => 'redis', 'connection' => env('QUEUE_CONNECTION', 'default'), 'queue' => 'wordtohtml', 'expire' => 600, ],この命令を使用して非同期プログラムを作成します。 概要
以上がPHPフレームワークLaravelで非同期処理を実行するスーパーバイザーを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。