非同期リクエスト - PHP で JS と同様の非同期投稿を行う方法はありますか? fsockopen にはリクエスト結果を取得する方法がありません
过去多啦不再A梦
过去多啦不再A梦 2017-05-27 17:42:08
0
5
737

メールを一括送信する場合、送信結果を取得する必要があるため、リクエスト結果を待つ必要があります。

phpでインターフェースを非同期にリクエストしてデータを取得し、コールバック関数を実行する方法はありますか?

現在は同期リクエスト インターフェイスなので待機しますが、非常に時間がかかります。 。また、実行中にサーバーの CPU が増加します。 。

教えてください

ここでの重要な点は、リクエストの戻りを待たず、戻りがあるときに特定のコードを直接呼び出すことです。リクエストは非常に遅いからです。 。 Redis キューはすでに使用されており、スクリプトが実行中です

过去多啦不再A梦
过去多啦不再A梦

全員に返信(5)
小葫芦

php はマルチスレッド拡張機能をインストールします。自分で拡張することで実現でき、jsもシングルスレッドで実装されます。

いいねを押す +0
伊谢尔伦

これらのライブラリを使用して、非同期タスクを実行してみることができますreactphp,workerman,swoole

いいねを押す +0
刘奇

これはphpに付属するcurl_multiで実現できます

いいねを押す +0
左手右手慢动作

fsockopen を使用する場合、これは非同期に送信されるだけで、返されません。もちろん、swoole を使用することもできますが、これには C が含まれています。 language 、一部のエラー メッセージは C からのものです。 C を知っている場合は、これも使用できます。 Workerman を使い始めるのは非常に簡単です。具体的な実装ロジックは次のとおりです。
非同期にする必要がある場合は、Workerman を直接呼び出してロジックを実行します。
Workerman がロジックを実行した後、タスク タスクを非同期で呼び出します。ワーカーマンの非同期。労働者は直接戻ります。
タスクが完了すると、タスクはワーカーマンに渡され、ワー​​カーマンが非同期ロジックを実行します。
PHP 非同期通信を備えたバックアップ フレームワークを提供します
github-php-awesome を翻訳しました

いいねを押す +0
仅有的幸福

キュー

1. 送信する必要がある情報を Redis またはその他のメモリ キャッシュに保存します。

2.php は、キー トークンへのアクセスを必要とするインターフェイスを提供します。このインターフェイスは、redis にキャッシュされた電子メール データをループして送信します。

3. Windows と Linux の両方でスケジュールされたタスクを使用するための解決策があります。定期的に http にアクセスしてこの php インターフェイスをリクエストし、送信を完了します。非同期と同等です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!