php腳本執(zhí)行定時(shí)任務(wù)的流程
1:swoole框架tick一個(gè)定時(shí)任務(wù)
2:shell腳本來(lái)操作操作這個(gè)任務(wù)的啟動(dòng),暫停,關(guān)閉,偽代碼:sh shell文件
3:web中利用PHP來(lái)執(zhí)行shell命令
整個(gè)閉環(huán)形成,可以在php開(kāi)發(fā)的b/s架構(gòu)中使用,是不是總結(jié)得很簡(jiǎn)單!
下面附上測(cè)試代碼
PHP定時(shí)任務(wù)代碼腳本文件
<?php
SwooleTimer::tick(3000, function (int $timer_id, $param1, $param2) {
echo "timer_id #$timer_id, after 3000ms.n";
echo "param1 is $param1, param2 is $param2.n";
SwooleTimer::tick(14000, function ($timer_id) {
echo "timer_id #$timer_id, after 14000ms.n";
});
}, "A", "B");
Shell腳本執(zhí)行PHP定時(shí)任務(wù)腳本文件
#!/bin/sh
# echo "直接時(shí)間開(kāi)始============`date +%F' '%T`==========="
start() {
echo "============啟動(dòng)成功==========="
}
stop() {
echo "============停止成功==========="
}
restart() {
echo "============重啟成功==========="
}
echo -e "===========服務(wù)啟動(dòng)命令============ n n"
echo -e "1:?jiǎn)?dòng)服務(wù) 2:停止服務(wù) 3:重啟服務(wù) 0:取消 n n"
echo -e "=================================== n n"
read -p "請(qǐng)輸入命令編號(hào):" inputText #提示用戶(hù)輸入數(shù)字
if [ $inputText == 1 ]; then
start
elif [ $inputText == 2 ]; then
stop
elif [ $inputText == 3 ]; then
restart
elif [ $inputText == 0 ]; then
echo -e "n取消操作n"
fi
PHP執(zhí)行shell腳本文件
<?php
system('sh py.sh'); // 執(zhí)行shell命令