ホームページ > バックエンド開発 > PHPチュートリアル > フレームワークに依存しないPHP Cronjobsは、Crunzで簡単になりました!

フレームワークに依存しないPHP Cronjobsは、Crunzで簡単になりました!

William Shakespeare
リリース: 2025-02-10 13:54:12
オリジナル
159 人が閲覧しました

この記事では、多用途のPHPジョブスケジューリングライブラリであるCrunzを紹介します。 Laravelのタスクスケジューラに触発されたCrunzは、CRONジョブの管理に柔軟性と使いやすさの向上を提供します。 著者は、貢献とフィードバックを歓迎します

Framework-Agnostic PHP Cronjobs Made Easy with Crunz! CRONジョブのしっかりした理解が想定されています。 必要に応じて提供されたウォークスルーを参照してください

主要な機能:

Framework-Ingostic:PHPフレームワークでシームレスに動作します

簡単なインストール:Composerを使用して簡単にセットアップします
    柔軟なスケジューリング:さまざまな周波数をサポートします(例:
  • 正確なコントロール:タスクの実行を管理するための
  • daily()everyFiveMinutes()
  • などのメソッドを提供します。
  • 並列処理:効率のためにタスクを同時に実行します from()堅牢なロック:データの整合性を維持するためにオーバーラップタスクの実行を防ぎます。 to()カスタマイズ可能な構成:柔軟な設定にYAMLファイルを使用します。between() when()包括的なロギング:電子メール通知オプション付きのログ出力とエラー。 skip()
  • 始めましょう:
  • コンポーザー経由でインストール:
  • a
  • コマンドラインユーティリティが利用可能になります

それがどのように機能するか: ファイルではなく、Crunzインターフェイスを使用して、PHPファイル(例:

ディレクトリ内)でCRONジョブを定義します。 単一のクロンジョブ(毎分実行)は、実行者のイベントランナーに処刑を委任します:

composer require lavary/crunz
ログイン後にコピー

crunz定義されたスケジュールに基づいてタスクの実行を管理します

タスクファイルの作成:

タスクファイル(従来は

で終了しています)にタスク定義が含まれています。 Crunzは、tasks/crontabタスクの例:

* * * * * /project/vendor/bin/crunz schedule:run
ログイン後にコピー

schedule:run

オブジェクトを返すことを忘れないでください。

コマンドとクロージャー:

Tasks.phptasks/コマンドまたはPHPクロージャーを受け入れます:

ディレクトリの変更:

タスク実行前にワーキングディレクトリを変更するには。
<?php // tasks/MyTasks.php

use Crunz\Schedule;

$schedule = new Schedule();
$schedule->run('my_command')
         ->daily()
         ->description('My daily task.');

return $schedule;
ログイン後にコピー

スケジューリングオプション:$schedule

  • 時間の単位: hourly()daily()weekly()monthly()quarterly()yearly()
  • 動的な方法:everyFiveMinutes()everyTwelveHours()など
  • 特定の時間:on('14:00 2025-03-15')at('14:00')dailyAt('14:00')
  • 平日:mondays()tuesdays()など(他の周波数メソッドで使用)。
  • 個々のフィールド:アレイまたはコンマ分離されたリストを使用して、1分、時間、日、月、曜日を正確に制御します。
  • cron式:cron('30 12 * * 1')

タスクライフタイム:from()to()制御タスクの実行期間。between()

条件付き実行:およびwhen()メソッドは、コールバックに基づいて条件付きタスクの実行を許可します。 skip()

構成(YAML):

a ファイル(を使用して公開)により、ソースディレクトリ、ファイル接尾辞、ロギング、電子メール通知のカスタマイズが可能になります。 crunz.yamlcrunz publish:config並列処理とロック:

Crunzは、

を使用して並行してタスクを実行します。 は、オーバーラップの実行を防ぎます。 symfony/ProcesspreventOverlapping()出力とエラー処理:

ログ出力とファイルへのエラー(

を設定)または電子メールで送信します。 コールバックはエラーを処理します。 crunz.yamlonError()pre/post-processフック:

およびコールバックは、タスクの前後にコードの実行を可能にします。 before()command-lineユーティリティ:after()

タスクをリストします。

タスクファイルのスケルトンを作成します。 crunz schedule:listWebインターフェイス:crunz make:task Webベースの管理ソリューションに

(Laravelベースのインターフェイス)を使用することを検討してください。

結論:lavary/crunz-ui

コードベース内のCRONジョブの管理は、バージョン制御と簡単なコラボレーションを提供します。 Crunzはこのプロセスを大幅に単純化します

よくある質問(FAQ):(元のFAQはすでによく書かれており、この書き直しには大幅な変更を必要としません。)

以上がフレームワークに依存しないPHP Cronjobsは、Crunzで簡単になりました!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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