2018-10-15 实现秒级定时任务

laravel的定时任务默认是使用crontab,最快只能1分钟执行一次。有以下几种方式可以实现秒级定时任务

* * * * * /home/mao/Documents/demo.sh
#!/bin/bash
int=1;
while(( $int<=60 ));
do
        /usr/local/php/bin/php  /home/mao/Documents/crontab.php;
        let "int++";
        sleep 1;
done

以下方法将每20秒执行一次

crontab -e 
* * * * * /bin/date
* * * * * sleep 20; /bin/date 
* * * * * sleep 40; /bin/date 

说明:需要将/bin/date更换成你的命令即可

  • 通过supersivor实现后台sh循环执行
    当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间。
#!/bin/bash
filepath=$(cd "$(dirname "$0")"; pwd)
cd $filepath
while [ true ]
do
  logname="translate_"$(date +%Y-%m-%d)".log";
  su www-data -c "php artisan article:translate 1>>./storage/logs/$logname"
    sleep 20
done
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值