首頁 >後端開發 >php教程 >框架 - 敏捷的php php cronjobs用crunz變得容易了!

框架 - 敏捷的php php cronjobs用crunz變得容易了!

William Shakespeare
William Shakespeare原創
2025-02-10 13:54:12162瀏覽

>本文介紹了Crunz,這是一個多功能的PHP作業計劃庫。 受Laravel的任務調度程序的啟發,Crunz為管理Cron工作提供了增強的靈活性和易用性。 作者歡迎貢獻和反饋。

>

Framework-Agnostic PHP Cronjobs Made Easy with Crunz!

假定對Cron Jobs的深入了解。 如有需要,請參閱提供的演練。

>

密鑰功能:

    框架 - 敏捷:與任何PHP框架無縫地工作。
  • >
  • 簡單的安裝:使用Composer進行輕鬆設置。
  • 靈活的調度:支持各種頻率(例如,
  • daily())。 everyFiveMinutes()>
  • 精確的控制:提供
  • from()to()between()when()之類的方法,用於管理任務執行。 skip()>並行處理:同時執行任務以提高效率。
  • >
  • 可靠的鎖定:防止重疊的任務運行以維護數據完整性。 >
  • >可自定義的配置:使用yaml文件進行靈活設置。
  • >
  • 綜合記錄:日誌輸出和錯誤,並使用電子郵件通知選項。
  • >
  • 入門:

>通過作曲家安裝:

a

命令行實用程序將可用。
<code class="language-bash">composer require lavary/crunz</code>
>

crunz它的工作方式:

>使用crunz接口,而不是直接在>文件中定義php文件中的cron作業(例如,在目錄中)。 一個Cron Job(每分鐘運行)將執行委派給Crunz的活動跑步者:

tasks/>根據定義的時間表管理任務執行。 crontab>

<code class="language-bash">* * * * * /project/vendor/bin/crunz schedule:run</code>
>任務文件創建:

schedule:run

>任務文件(常規結束

)包含任務定義。 Crunz遞歸掃描目錄。 您可以通過配置或命令行參數指定任務目錄。 >

>示例任務:

Tasks.php tasks/

記住要返回

>對象。

命令和閉合:
<code class="language-php"><?php // tasks/MyTasks.php

use Crunz\Schedule;

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

return $schedule;</code>

$schedule接受命令或php封閉:

目錄更改:

>使用

在執行任務之前更改工作目錄。 run()

<code class="language-php">$schedule->run('/usr/bin/my_script.sh', ['--option' => 'value'])
         ->hourly();

$schedule->run(function () { /* code */ })
         ->everyTenMinutes();</code>
調度選項:

  • >時間的單位:hourly()daily()weekly()monthly()quarterly()yearly()
  • >動態方法: everyFiveMinutes()everyTwelveHours()
  • 特定時間:on('14:00 2025-03-15')at('14:00')dailyAt('14:00')
  • >工作日:mondays()等(與其他頻率方法一起使用)。 tuesdays()
  • 單個字段:>使用陣列或分隔逗號的列表,通過微小,小時,每小時,每月和一周的一周,每天和一天進行精確控制。 >
  • cron表達式:cron('30 12 * * 1')

任務生命週期: from()to()控制任務執行期。 between()

有條件執行:when()方法允許基於回調的有條件任務執行。 skip()

> configuration(yaml): afile(使用發布)允許自定義源目錄,文件後綴,記錄和電子郵件通知。 crunz.yaml> crunz publish:config

並行性和鎖定:>並行運行任務。 防止重疊運行。 symfony/Process>preventOverlapping()>輸出和錯誤處理:

日誌輸出和文件錯誤(以

為單位)或通過電子郵件發送。 回調處理錯誤。 crunz.yaml>onError()pre/pre/後進程掛鉤:

> 允許執行任務前後的代碼。 before()> after()

>命令行實用程序:

列表任務; 創建任務文件骨架。 crunz schedule:list crunz make:task

> Web界面:

考慮使用(基於Laravel的接口)用於基於Web的管理解決方案。 lavary/crunz-ui

結論:

>在代碼庫中管理cron作業提供版本控制和更容易的協作。 crunz大大簡化了這個過程。

>

常見問題(常見問題解答):

(原始常見問題解答已經寫得很好,不需要重大修改此重寫。)

>

以上是框架 - 敏捷的php php cronjobs用crunz變得容易了!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn