Laravel中如何详细实现异步监控定时调度器实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1183个文字,预计阅读时间需要5分钟。
定时调度器是什么?Laravel默认提供了什么功能?在其他PHP框架下,如果没有这个功能,我们该如何操作,通常依赖于什么?
定时调度器是一种用于安排在特定时间执行任务的工具。Laravel默认提供了一个强大的命令行工具,用于调度任务。在其他PHP框架中,如果没有内置的定时任务功能,我们可以通过编写异步脚本并利用系统提供的crontab来执行这些脚本。
定时调度器是什么
laravel默认提供了一个命令定时任务的功能,在其他的php框架下面,没有这个定时任务,我们要跑一些异步脚本怎么操作呢,只能依赖我们系统提供的crontab来做,这就导致我们每次发版本新增定时任务都要去服务器更改crontab代码,获取更新这个配置。
执行命令是php artisan schedule:run 来执行,那放在哪里执行呢,没错这个调起还是需要依赖我们crontab来执行,但是只需要配置一次,后续所有定时任务都在我们业务代码进行控制
场景
我们有一个导入数据的定时任务
//每分钟导入库数据 $schedule->command(self::SIGNATURE)->withoutOverlapping()->everyMinute()->runInBackground();
这里导入长时间最好使用runInBackground(),表示异步执行,其实就是在shell脚本的末尾加上 & 符号,在linux上完全依赖系统的方式完成。
本文共计1183个文字,预计阅读时间需要5分钟。
定时调度器是什么?Laravel默认提供了什么功能?在其他PHP框架下,如果没有这个功能,我们该如何操作,通常依赖于什么?
定时调度器是一种用于安排在特定时间执行任务的工具。Laravel默认提供了一个强大的命令行工具,用于调度任务。在其他PHP框架中,如果没有内置的定时任务功能,我们可以通过编写异步脚本并利用系统提供的crontab来执行这些脚本。
定时调度器是什么
laravel默认提供了一个命令定时任务的功能,在其他的php框架下面,没有这个定时任务,我们要跑一些异步脚本怎么操作呢,只能依赖我们系统提供的crontab来做,这就导致我们每次发版本新增定时任务都要去服务器更改crontab代码,获取更新这个配置。
执行命令是php artisan schedule:run 来执行,那放在哪里执行呢,没错这个调起还是需要依赖我们crontab来执行,但是只需要配置一次,后续所有定时任务都在我们业务代码进行控制
场景
我们有一个导入数据的定时任务
//每分钟导入库数据 $schedule->command(self::SIGNATURE)->withoutOverlapping()->everyMinute()->runInBackground();
这里导入长时间最好使用runInBackground(),表示异步执行,其实就是在shell脚本的末尾加上 & 符号,在linux上完全依赖系统的方式完成。

