创建一个任务,创建成功后会在App/Console/Commands中生成一个以RabbitMq命名的文件,我们可以在这里面写我们的任务指令。
php artisan make:command RabbitMq
运行这个定时任务 run 是运行一次,我们可以用来测试是否成功,work是一直运行,每分钟执行一次,当执行到我们设置的时间就会自动执行。
php artisan schedule:run
//单次
php artisan schedule:work
//连续
修改RabbitMq.php
public function handle()
{
//你需要的代码
//
return 0;
}
我们在将逻辑完成之后,就需要在App/Console中的Kernel.php文件当中去设置我们的定时任务的时间段。
protected function schedule(Schedule $schedule)
{
// $schedule->command('inspire')->hourly();
//自己的定时
$schedule->command('RabbitMq')->everyMinute();
}
然后 php artisan schedule:run 手动执行测试
laravel 的定时任务最短间隔为1分钟。如果想要间隔更短,自己写个shell
#/bin/bash
step=10
while [ true ]; do
/usr/bin/php /your-path/artisan Rabbit
sleep ${step}
done
exit 0