
スケジュールされたタスクのスケジューリングに Hyperf フレームワークを使用する方法
Hyperf は、Swoole 拡張機能に基づく高性能で柔軟な PHP フレームワークです。強力なスケジュールされたタスク スケジューラを含む、豊富な機能とコンポーネントのセットを提供します。この記事では、スケジュールされたタスクのスケジュール設定に Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。
-
Hyperf フレームワークのインストール
まず、Hyperf フレームワークをインストールする必要があります。 Composer コマンドを使用してインストールできます。
1 | composer create-project hyperf/hyperf-skeleton hyperf-project
|
ログイン後にコピー
スケジュールされたタスク クラスの作成
Hyperf フレームワークでは、HyperfTaskAnnotationAbstractTask## を継承するタスク クラスを作成できます。 # スケジュールされたタスクを実行します。
MyTask という名前のタスク クラスを作成し、
handle() メソッドを実装します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
declare (strict_types=1);
namespace AppTask;
use HyperfTaskAnnotationTask;
use HyperfTaskAnnotationTimer;
class MyTask
{
public function handle(int $arg1 , int $arg2 )
{
echo $arg1 + $arg2 ;
}
}
|
ログイン後にコピー
上記のコードでは、@Task アノテーションを使用します。クラスをタスク クラスとしてマークし、
@Timer アノテーションを使用してタスクの実行間隔とコールバック メソッドを指定します。
- スケジュールされたタスクの構成
スケジュールされたタスクのクラスとメソッドを構成ファイルに登録する必要があります。
config/autoload/tasks.php ファイルに、次の構成を追加します。
1 2 3 4 5 6 7 8 9 | <?php
declare (strict_types=1);
return [
'tasks' => [
AppTaskMyTask:: class ,
],
];
|
ログイン後にコピー
- スケジュールされたタスクを実行する
次のコマンドを使用して、スケジュールされたタスク スケジューラを開始します。 :
起動後、スケジュールされたタスクの実行が開始されます。 スケジュールされたタスクをさらに追加する- スケジュールされたタスクをさらに追加する必要がある場合は、新しいタスク クラスとメソッドを作成し、構成ファイルに登録するだけです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
declare (strict_types=1);
namespace AppTask;
use HyperfTaskAnnotationTask;
use HyperfTaskAnnotationTimer;
class AnotherTask
{
public function handle()
{
echo 'Another task executed' ;
}
}
|
ログイン後にコピー
1 2 3 4 5 6 7 8 9 10 | <?php
declare (strict_types=1);
return [
'tasks' => [
AppTaskMyTask:: class ,
AppTaskAnotherTask:: class ,
],
];
|
ログイン後にコピー
上記の手順を理解した後、Hyperf フレームワークを使用してスケジュールされたタスクをスケジュールできます。スケジュールされたタスクを使用すると、スケジュールされた時間に電子メールを送信したり、レポートを生成したりするなど、スケジュールに基づいて定期的なタスクを実行できます。 Hyperf フレームワークのスケジュールされたタスク スケジューラを使用すると、これらの機能をより便利に実装し、大量の同時リクエストを効率的に処理できます。
注: スケジュールされたタスク スケジューラは、Swoole の
Coroutine 環境で動作する必要があります。PHP カーネルに Swoole 拡張機能がインストールされていることを確認してください。
この記事が、スケジュールされたタスクのスケジュール設定のための Hyperf フレームワークの理解と使用に役立つことを願っています。ご質問がございましたら、お気軽にメッセージを残してください。
以上がスケジュールされたタスクのスケジュールに Hyperf フレームワークを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。