php統一管理crontab

2021-09-24 12:55:36 字數 1230 閱讀 8203

統一管理crontab計畫任務的關鍵點,在於實現像crontab一樣對*/10 * * * *這樣的命令如何進行解析。

解析完成最後呼叫系統函式執行shell命令

新建控制器

/console/controllers/testcroncontroller
新增任務

$this->cronjobs = [

'hello/index' => '* * * * *',

'hello/test' => '*/10 * * * *',

];

新增crontab任務

* * * * * /usr/bin/php /project/yii test-cron/run
<?php

namespace

console\controllers

;use

yii\console\controller

;class

testcroncontroller

extends

controller

public

function

actionrun()

}// 下面是呼叫系統函式執行shell命令

$this

->

runcommandbackground

($command);

}}/** * 解析需要執行的命令

* @param $cronjobs

* @return array

*/public

function

parsecron

($cronjobs

)else

else}}

// 判斷*/10 這種型別的if(

$every

>1)

}}}}

return

$raw;}

/** * 以守護程序模式執行命令

* @param $command

*/public

function

runcommandbackground

($command

)}

Gradle統一管理版本

為了提高專案開發效率,在實際專案開發過程中往往會引入一些開源框架,還有專案中使用的各種module,當引入module過多時最好提供一種統一的方式去管理版本號,如 compilesdkversion buildtoolsversion androidtestcompile 等,便於日後對版本號進行維...

Redis Key 統一管理技巧

我們的專案中可能存在多種業務場景需要接入 redis 快取,在插入快取時需要設定 key,如果這個 key 散落在專案的各個業務 中的話,會給後期維護帶來很大的不便。所以我建議把系統中用到快取 key 放到乙個類中統一管理,相同業務的 key 放到一起,這樣也提高了系統 的可讀性,讓看這個系統的人一...

Android Gradle 統一管理依賴

在project的根目錄建立gradle型別的檔案 檔案定義某些依賴版本號,用於其它gradle檔案引用,統一管理 ext在project中的gradle檔案引入新建立的gradle versions.gradle 此處引入新建立的檔案 buildscript dependencies allpro...