首先创建自定义命令类并编写逻辑,然后在Kernel中注册任务并设置频率,接着配置系统Crontab每分钟执行schedule:run,最后通过手动运行命令和查看日志测试任务。

如果您在Laravel项目中需要定期执行某些任务,例如清理缓存、发送邮件或同步数据,可以通过内置的任务调度功能统一管理这些定时任务。以下是配置与运行Laravel任务调度的具体步骤:
Laravel使用Artisan命令生成的命令类来定义可调度的任务。您需要先创建一个自定义命令类,并在其中编写任务逻辑。
1、在终端执行以下命令创建一个新的命令类:
php artisan make:command SendDailyReport
2、打开生成的app/Console/Commands/SendDailyReport.php文件,在handle()方法中编写具体任务逻辑。
3、在App\Console\Kernel类的schedulable方法中注册该任务,并设置执行频率:
$schedule->command('inspire')->daily();
Laravel提供了丰富的调度频率方法,用于控制任务的执行周期。您可以根据实际需求选择合适的调度方式。
1、每天凌晨两点执行:
$schedule->command('report:send')->dailyAt('02:00');
2、每五分钟执行一次:
$schedule->command('check:status')->everyFiveMinutes();
3、每周一上午九点执行:
$schedule->command('backup:run')->weeklyOn(1, '9:00');
Laravel任务调度依赖于系统级的Cron配置来触发调度内核。必须正确设置服务器的Crontab条目才能激活调度器。
1、通过SSH登录到您的服务器并运行:
crontab -e
2、添加以下Crontab记录:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
3、保存退出后,系统将每分钟自动调用一次Laravel调度器,由其判断是否有待执行的任务。
在部署调度任务前,应确保命令能独立运行且输出符合预期。手动执行命令是验证逻辑的有效方式。
1、直接运行已定义的Artisan命令以测试其功能:
php artisan report:send
2、查看应用日志以确认任务是否正常执行:
tail -f storage/logs/laravel.log
3、使用Laravel提供的调度列表查看当前注册的所有任务:
php artisan schedule:list
以上就是Laravel任务调度怎么设置_Laravel定时任务配置与运行管理的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号