ホームページ  >  記事  >  PHPフレームワーク  >  スウールイベントの使い方

スウールイベントの使い方

(*-*)浩
(*-*)浩オリジナル
2019-12-06 10:31:402156ブラウズ

スウールイベントの使い方

Swoole\Server はイベント駆動型モデルであり、すべてのビジネス ロジック コードはイベント コールバック関数に記述する必要があります。特定のネットワーク イベントが発生すると、最下層は指定された PHP 関数をアクティブにコールバックします。 合計 13 種類のイベントがサポートされています。 (推奨学習: swoole ビデオ チュートリアル )

イベント実行シーケンス

すべてのイベント コールバックは $server->start の後に発生します

サーバーシャ​​ットダウンプログラム終了時の最後のイベントはonShutdownです。

サーバーが正常に起動すると、onStart/onManagerStart/onWorkerStartが異なるプロセスで同時に実行されます

onReceive/onConnect/onCloseがトリガーされますWorker プロセス内で

#OnWorkerStart/onWorkerStop は Worker/Task プロセスの開始/終了時に 1 回呼び出されます

onTask イベントはタスク プロセスでのみ発生します

onFinish イベントワーカー内でのみ発生 プロセス内で発生する 3 つのイベント

onStart/onManagerStart/onWorkerStart の実行順序は不確実です

Coroutine モード

Swoole2/4 バージョンではコルーチンをサポートしており、コルーチンを使用するとイベントのコールバック関数が並行して実行されます。コルーチンは、追加のスケジューリングを消費せず、メモリのみを占有するユーザー モード スレッドの実装です。

コルーチン モードの使用は、「各イベント コールバック関数が実行用の新しいスレッドを作成します。イベント コールバック関数が実行された後、スレッドは終了します。」と理解できます。

コルーチンを閉じたい場合は、次のように設定できます:

$server->set(["enable_coroutine" => false, ]);

以上がスウールイベントの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。