Heim > Fragen und Antworten > Hauptteil
曾经蜡笔没有小新2017-05-16 13:03:44
crontab默认最小单位是分,但是也可以用一些取巧的方式实现。例如,每10秒执行一次:
* * * * * php /home/test.php
* * * * * sleep 10; php /home/test.php
* * * * * sleep 20; php /home/test.php
* * * * * sleep 30; php /home/test.php
* * * * * sleep 40; php /home/test.php
* * * * * sleep 50; php /home/test.php
每秒的话,也可以上述方式实现,但是就很多了,不建议,因此用个shell脚本是比较好的选择。
#!/bin/bash
step=1 #间隔的秒数,不能大于60
for (( i = 0; i < 60; i=(i+step) )); do
$(php '/home/test.php')
sleep $step
done
exit 0
天蓬老师2017-05-16 13:03:44
crontab最小执行时间粒度为一分钟,秒级的可以使用开启一个死循环来不停获取数据。
while(true){
file_get_contents('get_data_controller');
sleep(1);
}