ホームページ > PHPフレームワーク > Swoole > swooleプロセスを閉じた後に再起動する方法

swooleプロセスを閉じた後に再起動する方法

リリース: 2019-12-16 09:32:43
オリジナル
2944 人が閲覧しました

swooleプロセスを閉じた後に再起動する方法

#swoole プロセスを閉じた後、Server->reload メソッドを使用してプロセスを再起動できます。

サーバー->リロード方法の概要:

すべてのワーカー/タスク プロセスを再起動します。

bool Server->reload(bool $only_reload_taskworkrer = false)
ログイン後にコピー

$only_reload_taskworkrer タスク プロセスのみを再起動するかどうか

ビジーなバックエンド サーバーは常にリクエストを処理しています。管理者がプロセスを強制終了してサーバー プログラムを終了/再起動すると、コードは実行途中で終了します。

この場合、データの不整合が発生します。たとえば、取引システムでは、支払いロジックの次のセクションは出荷であり、支払いロジックの後にプロセスが終了すると想定されます。これにより、ユーザーは通貨を支払うだけで商品が届かなくなり、非常に深刻な結果が生じます。

Swoole は柔軟な終了/再起動メカニズムを提供しており、管理者は特定のシグナルをサーバーに送信するだけで、サーバーのワーカー プロセスを安全に終了できます。

1. SIGTERM: このシグナルをメイン プロセス/管理プロセスに送信すると、サーバーは安全に終了します

2. PHP コードでは、$serv->shutdown() を呼び出して、この操作を完了します

3. SIGUSR1: SIGUSR1 シグナルをメイン プロセス/管理プロセスに送信すると、すべてのワーカー プロセスがスムーズに再起動されます

4. PHP コードでは、$serv-> を呼び出すことができます;reload() を使用してこの操作を完了します。

5. リロードには保護メカニズムがあります。リロードが進行中の場合、新しい再起動信号を受信すると破棄されます。

6. Ifユーザー/グループが設定されている場合、ワーカー プロセスにはマスターにメッセージを送信する権限がない可能性があります。プロセスは情報を送信します。この場合、root アカウントを使用し、シェルで kill コマンドを実行して再起動する必要があります。

7. reload コマンドは、addProcess によって追加されたユーザー プロセスには無効です。

推奨学習: swoole ビデオ チュートリアル

以上がswooleプロセスを閉じた後に再起動する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート