ThinkPHP5 で thinkphp-queue を使用しますか?
thinkphp フレームワーク の次のチュートリアル コラムでは、ThinkPHP5 で thinkphp-queue を使用する方法を紹介します。
composer require topthink/think-queue
2. メッセージ キューのストレージ環境を構成する 図に示すように、構成ファイルは application\extra\queue.php にあります。Redis ドライバーを使用します。Redis 環境がインストールされていない場合は、ご自身でインストールしてください。非常に簡単です。または、図に示すように、他の種類のドライバーを使用することもできます。
インデックス モジュールの下に Index.php ファイルがあり、queue という名前のメソッドを作成します (このようにする必要がありますか? もちろんそうではありません。このチュートリアルは単なる例です。図に示すように、新しいモジュールを作成し、メソッド名は他のものにすることもできます。
図に示すように、消費モードの処理に使用されるジョブ ファイルをインデックス モジュールの下に作成します。
ブラウザまたはターミナルで、index/queue.html メソッドを実行して作成とプッシュを完了します。タスクの消費に関しては、コマンドを参照して、ターミナルでプロジェクトのルート ディレクトリに切り替えることができます:
php think queue:listen php think queue:work –daemon(不加–daemon为执行单个任务)
1.1 コマンド モード
queue:subscribe コマンド [As 2017 年 2 月 15 日の作成者はまだこのモードを実装していません。スキップ]
queue:work command
work command: このコマンドは作業プロセスを開始しますメッセージキューを処理します。 php think queue:work --queue helloJobQueue
ログイン後にコピーqueue:listen command
listen コマンド: このコマンドは listen 親プロセスを作成し、親プロセスは - proc_open('php think queue :work')
を使用して、メッセージ キューを処理し、ワーク プロセスの実行時間を制限するためのワーク サブプロセスを作成します。
php think queue:listen --queue helloJobQueue
ログイン後にコピー
2.2 コマンド ライン パラメータ
作業モード
php think queue:work \ --daemon //是否循环执行,如果不加该参数,则该命令处理完下一个消息就退出 --queue helloJobQueue //要处理的队列的名称 --delay 0 \ //如果本次任务执行抛出异常且任务未被删除时,设置其下次执行前延迟多少秒,默认为0 --force \ //系统处于维护状态时是否仍然处理任务,并未找到相关说明 --memory 128 \ //该进程允许使用的内存上限,以 M 为单位 --sleep 3 \ //如果队列中无任务,则sleep多少秒后重新检查(work+daemon模式)或者退出(listen或非daemon模式) --tries 2 //如果任务已经超过尝试次数上限,则触发‘任务尝试次数超限’事件,默认为0
リッスン モード
php think queue:listen \ --queue helloJobQueue \ //监听的队列的名称 --delay 0 \ //如果本次任务执行抛出异常且任务未被删除时,设置其下次执行前延迟多少秒,默认为0 --memory 128 \ //该进程允许使用的内存上限,以 M 为单位 --sleep 3 \ //如果队列中无任务,则多长时间后重新检查,daemon模式下有效 --tries 0 \ //如果任务已经超过重发次数上限,则进入失败处理逻辑,默认为0 --timeout 60 //创建的work子进程的允许执行的最长时间,以秒为单位
ログイン後にコピーリッスン モードでは、- --deamon
パラメータが含まれていないことがわかります。理由は以下で説明します
Linux は、tp5 を例としてデーモン プロセスを開始します
nohup php think queue:work --daemon --queue 任务名称 & nohup php think queue:work --daemon --queue 任务名称 &
ターミナル内
以上がThinkPHP5 で thinkphp-queue を使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Pagoda に thinkphp5 をデプロイするときに報告されたエラーの解決策: 1. Pagoda サーバーを開き、php pathinfo 拡張機能をインストールして有効にします; 2. 「.access」ファイルをコンテンツ「RewriteRule ^(.*)$index.php」で構成します。 ?s=/$1 [QSA ,PT,L]”; 3. Web サイト管理で、thinkphp の疑似静的機能を有効にするだけです。

thinkphp5 の URL 書き換えが機能しない場合の解決策: 1. mod_rewrite.so モジュールが httpd.conf 設定ファイルにロードされているかどうかを確認します; 2.AllowOverride None の None を All に変更します; 3. Apache 設定ファイル .htaccess を「RewriteRule ^」に変更します(.*)$index.php [L,E=PATH_INFO:$1]」を選択して保存します。

thinkphp5 が要求された URL を取得するためのメソッド: 1. "\think\Request" クラスの "$request = Request::instance();" メソッドを使用して、現在の URL 情報を取得します。 2. 組み込みヘルパーを使用します。関数「$request-> url()」を使用して、ドメイン名を含む完全な URL アドレスを取得します。

TP5 が strpos 関数を使用してヘッダーの content-type 値で app/json 文字列を検索するため、thinkphp5 post は値を取得できません。解決策は、ヘッダーの content-type 値を app/json に設定することです。

thinkphp5 タイトル バー アイコンを削除する方法: 1. thinkphp5 フレームワーク public で favicon.ico ファイルを見つけます; 2. ファイルを削除するか、別の画像を選択して名前を favicon.ico に変更し、元の favicon.ico ファイルを置き換えます。

thinkphp5 でコントローラーが存在しないというプロンプトが表示される場合の解決策: 1. 対応するコントローラーの名前空間が正しく記述されているかどうかを確認し、正しい名前空間に変更します; 2. 対応する tp ファイルを開いてクラス名を変更します。

ThinkPHP5 で昨日のデータをクエリする方法: 1. ThinkPHP5 関連ファイルを開きます; 2. 式「db('table')->whereTime('c_time', 'yesterday')->select();」を使用して昨日のデータをクエリします。 。

thinkphp5 でエラー プロンプトを設定する方法: 1. プロジェクト ルート ディレクトリのパブリック フォルダーに入り、index.php エントリ ファイルを開きます; 2. デバッグ モード スイッチに関するコメントを表示します; 3. 「APP_DEBUG」定数の値を調整しますtrue に設定すると、エラー メッセージ プロンプトが表示されます。
