検索
ホームページPHPフレームワークSwooleswoole は複数のタイマーを設定できますか?

swoole は複数のタイマーを設定できますか?

まず、さまざまなビジネス システムでは、サーバーがバックグラウンドで関連データをスキャンし、対応する統計、通知、その他の操作をトリガーする必要があることがよくあります。

例えば、プロジェクト管理システムでは、毎日一定時間内での各タスクの実行や期限切れ、プロジェクト全体の進捗状況などをカウントし、対応付ける必要があります。統計に基づく通知; (推奨される学習: swoole ビデオ チュートリアル )

このようなシナリオをプログラムするにはどうすればよいですか?

通常のプログラミング方法を使用すると、自動トリガーと統計を実現できません。もちろん、この単純なアイデアはシステムの cron ジョブ メカニズムにとって有益です。ただし、この方法では、構成と信頼性の点で、より多くの人的操作要素が必要になります。

Swoole は C を使用して開発された PHP 拡張機能で、PHP を介して高性能な Web サーバーを実装できると同時に、タイマー機能やタスクキュー Task 機能も組み込まれています。このように、swoole に基づいてプログラム レベルで実装を制御し、独立したメッセージ キュー サーバーやスケジュールされたタスク管理ツールなどの外部ツールへの依存を減らすことができます。

swoole の力は、そのプロセス モデルの設計にあり、非同期の問題を解決するだけでなく、並列処理も解決します。

使用法は次のとおりです。

swoole_server_addtimer($serv, 10);

2 番目のパラメータは、タイマーの間隔時間 (秒単位) です。スウールタイマーの最小粒度は 1 秒です。複数のタイマーをサポートします。同じ間隔の 2 つのタイマーは存在できないことに注意してください。タイマーを追加した後、コールバック関数を作成する必要があります。

具体的なコードは次のとおりです:

swoole_server_handler($serv, 'onTimer', my_OnTimer);
function my_OnTimer($serv, $interval)
{
  echo "Timer[$interval] is call\n";
}

Task モジュールは、Webim でのブロードキャストなど、いくつかの非同期の遅いタスクを実行するために使用されます。 node.js と同様に、100,000 個の接続があり、ブロードキャストを送信すると 100,000 回ループしますが、この時点ではプログラムは何もできず、新しい接続を受け入れることも、パケットの送受信もできません。

しかし、swoole は異なります。タスク プロセスにスローされた後も、リアクターとワーカーは引き続き実行されます。タスクが完了すると、ワーカー プロセスにタスクが完了したことを非同期的に通知します。

以上がswoole は複数のタイマーを設定できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、