Laravel がスケジュールされたタスクを実装する方法の詳細な説明

*文
リリース: 2023-03-19 08:06:01
オリジナル
2378 人が閲覧しました

Laravel でスケジュールされたタスクを実装するにはどうすればよいですか?この記事では主にLaravelでスケジュールされたタスクを実装するためのサンプルコードを紹介します。編集者が非常に良いと思ったので、参考として共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

はじめに

スケジュールされたタスクは、バックエンド開発プロセスにおける非常に一般的な要件であり、データ統計、スパム クリーニング、その他のシナリオでよく使用されます。 Laravel はスケジュールされたタスク ツールの完全なセットを提供するため、ロジックを完成させることだけに集中すればよく、残りの基本的な作業は Laravel が処理します。

基本的な使い方

コマンドを生成

php artisan make:command AreYouOK
ログイン後にコピー

5.2以前のバージョンでは、このコマンドは`phpArtisan make:console xxx`

コマンドを編集

Edit `app/Console/Commands/AreYouOK phpです。 ` ファイルで、以下を変更します:

... ...
protected $signature = 'areyou:ok'; // 命令名称
protected $description = '雷军,科技圈最会唱歌的男人'; // 命令描述,没什么用

public function __construct()
{
  parent::__construct();
  // 初始化代码写到这里,也没什么用
}
public function handle()
{
  // 功能代码写到这里
}
ログイン後にコピー

登録コマンド

`app/Console/Kernel.php` ファイルを編集し、新しく生成されたクラスを登録します:

protected $commands = [
  \App\Console\Commands\AreYouOK::class,
];
ログイン後にコピー

呼び出しロジックを作成します:

protected function schedule(Schedule $schedule)
{
  $schedule->command('areyou:ok')
       ->timezone('Asia/Shanghai')
       ->everyMinute();
}
ログイン後にコピー

上記のロジック毎分呼び出すことです。 Laravel は、1 分から 1 年までのさまざまな長さの時間関数を提供しており、これらを直接呼び出すことができます。

この Laravel プロジェクトをシステムの cron に登録します

`/etc/crontab` ファイルを編集し、次のコードを追加します:

* * * * * root /usr/bin/php /var/www/xxxlaravel/artisan schedule:run >> /dev/null 2>&1
ログイン後にコピー

上の行の `/var/www/xxxlaravel` は次のようにする必要があります。実際のパスに変更されました。

fire

cron を再起動してこの機能を有効にします: `systemctl restart crond.service`、完了です。

関連する推奨事項:

非同期プロセスを実行するためのスーパーバイザーを実装するLaravelの方法の詳細な説明

Laravelのタスクスケジューリングコンソールの詳細な説明

使い方の詳しい説明L Aravelイベントシステムにログインログを実装

以上がLaravel がスケジュールされたタスクを実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート