要實(shí)現(xiàn)PHP的不間斷執(zhí)行任務(wù),可以使用以下幾種方法:
while (true) {
// 執(zhí)行任務(wù)的代碼
// 休眠一段時(shí)間,避免過(guò)于頻繁地執(zhí)行任務(wù)
sleep(1);
}
這種方法簡(jiǎn)單直接,但可能會(huì)導(dǎo)致CPU過(guò)度使用,影響服務(wù)器性能。
* * * * * php /path/to/your/script.php
這種方法可以靈活控制執(zhí)行頻率,但無(wú)法實(shí)現(xiàn)真正的不間斷執(zhí)行。
首先安裝Supervisor:
sudo apt-get install supervisor
創(chuàng)建一個(gè)配置文件 /etc/supervisor/conf.d/your_script.conf
:
[program:your_script]
command=php /path/to/your/script.php
autostart=true
autorestart=true
startretries=3
user=your_user
然后重新加載Supervisor配置:
sudo supervisorctl reread
sudo supervisorctl update
現(xiàn)在你的腳本將以守護(hù)進(jìn)程的方式運(yùn)行,可以通過(guò)Supervisor來(lái)控制它的啟動(dòng)、停止和重新啟動(dòng)。
這種方法可以實(shí)現(xiàn)真正的不間斷執(zhí)行,且具有較好的可控性和穩(wěn)定性。
使用哪種方法取決于你的需求和服務(wù)器環(huán)境。