ThinkAdminのV5.0は、思考キューコンポーネントに依存して、もはや、カスタムタスクメカニズムを追加しません。
そして、データテーブルsystem_jobs system_jobs_logの除去、system_queueテーブルを増やします。
次のように非同期タスク処理命令について、次のとおりです。
- 実行は
php think xtask:listen
、デーモンホストプロセスの非同期タスクを聴き始めます - 実行
php think xtask:query
クエリの処理が実行されているすべてのタスクを - 実行は、
php think xtask:start
非同期タスクマスターデーモンのリスニングプロセスを作成します - 実行
php think xtask:state
ビューはメインプロセスの非同期タスクのステータスを監視します - 実行
php think xtask:stop
スーッすべてのプロセスの非同期タスクを
管理者/ sys.php機能は増加sysqueueタスクキューを容易にするための機能が追加されます。
sysqueue($タイトル、$ loade、$後= 0、$データ= []、$ダブル= 1)
あなたは、タスクのタイトルを指定したタスク、遅延時間、追加データのタスクを実行することができ、重複したタスクを作成することができます。
一部のタスクは、治療および治療は反復的な作業を作成する必要はありませんされるように、$ DOUBLEは、タイトルの下に識別することである0に設定する必要がありますので、タイトルも適切な文字名を追加することができます。
自作の非同期処理は、ウィンドウが達成するために、コマンドWMICプロセスに基づいて作成されたマルチタスキングプロセスであるが、Linuxはアンパサンドによって達成されます。
それは過剰なシステムリソースの消費量とは、プロジェクトの通常の使用に影響を与えるように非同期並列実行、独自のデータの制御の下で提案されたタスク、ですので。
展開時には、通常、私たちは実行するためにタイマーを作成する必要がありphp think xtask:start
、プロセスを監視するための非同期タスクを守ることができます。
現在、ThinkAmdin V5カスタム非同期タスクのメカニズムは、2つのメカニズムをサポートします。
カスタムクラス別のプロセスを継承することが要求されるapp\admin\queue\Queue
実装する抽象クラス execute
メソッドを、パラメータ $input, $output, $data
入力オブジェクトをcliをCLI出力オブジェクトの入力、出力され、結合データのタスクのためのデータ。詳細についてお読みください:https://gitee.com/zoujingli/ThinkAdmin/blob/master/application/wechat/queue/WechatQueue.php
第二に、カスタムThinkPHP指定し、デフォルトコンソール::()の呼び出しは、着信命令を実行しようとします。以下のような:
sysqueue( "SYNC [{の$ this - > APPID}]ファンリスト"、 'xfans:すべて'、0、[ 'APPID' =>の$ this - > APPID]、0);
使用方法の詳細ThinkAdmin、移動してください https://gitee.com/zoujingli/ThinkAdminを