ホームページ >バックエンド開発 >PHPチュートリアル >phpキュータスクの実装については専門家に聞いてください!

phpキュータスクの実装については専門家に聞いてください!

WBOY
WBOYオリジナル
2016-06-23 14:00:311052ブラウズ

ブロードキャスト機能を作成するには、ブロードキャストには開始時刻、終了時刻、間隔、優先順位が必要です。次の表に示すように:


このような機能を実装したいと考えています。新しいブロードキャストを作成した後、開始時間を決定し、ブロードキャストをキューに追加し、タイマーを使用してキュー内の各ブロードキャストを実行します。

1 データをキューに入れるにはどうすればよいですか?
2 キュー内のデータを取得するにはどうすればよいですか?
3 1、2、3 などの優先順位に基づいてブロードキャストの再生順序を決定するにはどうすればよいですか?
4 すべてのブロードキャストを実行しながら、非同期呼び出しを 1 つの do だけ実行するにはどうすればよいですか?
5 ブロードキャストを変更した後、キュー内の既存のブロードキャストを置き換えるにはどうすればよいですか?

親愛なる不滅の皆様、助けてください!



ディスカッション (解決策) への返信

ご指摘の要件については、キューを使用する必要性がわかりません。優先度がある場合、どのキューを使用する必要がありますか? PHP を使用してバックグラウンドで処理できます。 mysqlを使用するだけです。

キューを使用したい場合は、HTTPSQS を使用できます

あなたが言及した要件については、キューを使用する必要はないと思いますが、優先順位がある場合はどのキューを使用する必要がありますか? PHP を使用してバックグラウンドで処理できます。 mysqlを使用するだけです。
具体的に教えていただけますか? PHP 永続バックエンドとは何ですか?

redis またはデータベースが実装されました...

redis またはデータベースが実装されました... データベースを実装するにはどうすればよいですか?

mysql または redis を直接記述して、SQL クエリを実行するだけです。

キューとは何ですか? 先入れ先出し

投稿しすぎないでください。 ! !

キューイングは難しいですか... あまり複雑に考えないでください...
パフォーマンスを気にしない場合は、mysqlを使用してください
1. フラグビット0のデータをすべて直接見つけて操作しますphp で、テーブル内のフラグ ビットを 1 に設定します
2. where flag = 0 limit 1 を直接使用してデータを取得し、そのデータのフラグ ビットを 1 に設定します
Redis を直接実行するのはさらに簡単です。キュー形式をサポートしています。詳しくは、redis の操作方法を参照してください。

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