前段时间用Yii2做股票项目,股票项目对实时数据要求比较高,需要用到定时任务,每一秒都会请求新郎股票数据,但crontab定时任务最小单位是分,那如果需要实现秒级定时任务,需要写60次crontab,对于有强迫症的我是不能忍受的,我们可以用脚本实现秒级定时任务。
1.Yii2中定时任务控制器是写在console模块里
2.新建定时脚本crontab.sh
代码语言:javascript复制#!/bin/bash
step=1
for ((i = 0;i<60;i=(i step)));do
$(/www/server/php/56/bin/php '/www/wwwroot/a617/yii' 'init/gather')
sleep $step
done
exit 0
$(/www/server/php/56/bin/php '/www/wwwroot/a617/yii' 'init/gather')解释:
/www/server/php/56/bin/php:PHP路径
/www/wwwroot/a617/yii:项目目录/yii
init/gather:console模块下的路由,控制器/方法
3.crontab定时任务