ホームページ バックエンド開発 PHPチュートリアル PHP+MySQLでメッセージキューを実装する手順の詳細説明

PHP+MySQLでメッセージキューを実装する手順の詳細説明

May 16, 2018 am 10:21 AM
php php+mysql ステップ

今回は、PHP + MySQL でメッセージ キュー を実装する手順について詳しく説明します。PHP + MySQL でメッセージ キューを実装するための 注意事項

は次のとおりです。 。

最近、テキスト メッセージをバッチで送信する必要があるようになりました。テキスト メッセージ インターフェイスはサードパーティによって提供されています。最初は、携帯電話番号を取得した後、インターフェイスをループで呼び出して送信すれば十分ではないかと思いました。

しかし、問題はすぐに発見されました。テキスト メッセージの数が多いと、時間がかかるだけでなく、成功率も非常に低くなります。

そこで、PHP と MySQL を使用してメッセージ キューを実装し、テキスト メッセージを 1 つずつ送信することを考えました。具体的な実装方法は以下で紹介します:

まず、次のフィールドを含むデータ テーブル sms を作成します:
id,
phone, //手机号
content //短信内容
ログイン後にコピー

送信する必要があるテキスト メッセージと携帯電話番号を sms テーブルに保存します。

次に、PHP を使用して タイマー

を実装し、定期的にレコードを読み取り、テキスト メッセージを送信する必要があります:

<?php
$db = new Db();
$sms = new Sms();
while(true){
  $item = $db->getFirstRecord(); //获取数据表第一条记录
  if(!$item){
    //如果队列中没有数据,则结束定时器
    break;
  }
  $res = $sms->send($item[&#39;phone&#39;],$item[&#39;content&#39;]); //发送短信
  if($res){
    $db->deleteFristRecord(); //删除发送成功的记录
    echo $item[&#39;phone&#39;].&#39;发送成功&#39;;
  }else{
    echo $item[&#39;phone&#39;].&#39;发送失败,稍后继续尝试&#39;;
  }
  sleep(10); //每隔十秒循环一次
}
echo &#39;发送完毕!&#39;;
?>
ログイン後にコピー

コードを timer_sms.php として保存し、コマンド ラインを開いてタイマーを実行します:

php timer_sms.php
ログイン後にコピー
わかりました。PHP タイマーは、設定された時間間隔 (ここでは 10 秒に設定されています) に従ってテキスト メッセージを送信するタスクを 自動的に完了します 。タスクが完了すると、タイマーは自動的に終了し、サーバー リソースを占有しなくなります。

私のテストによると、PHP タイマーは多くのリソースを占有せず、サーバーに負荷をかけません。また、データベースに非同期でアクセスしても、データベースの動作には影響しません。

この方法の利点は次のとおりです:

1. バックグラウンドで実行され、フロントデスクで待つ必要がありません

2. 成功率が高く、失敗したレコードは成功するまで自動的に再送信されます

この記事の事例を読んでマスターしてください。方法については、さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Vue

ノードを使用してWeChat個人アカウントロボットを作成するドラッグアンドドロップ機能を実装する手順の詳細な説明

🎜

以上がPHP+MySQLでメッセージキューを実装する手順の詳細説明の詳細内容です。詳細については、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles